Announcement

Collapse
No announcement yet.

Code C !! Nhập n xuất ra n số nguyên tố đầu tiên trở đi.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Bài này bữa có trên vòng loại cuộc thi thuật toán.

    PHP Code:
    #include <stdio.h>
    int main()
    {
        
    long int n,i,j,k;
        
    n=500;// số số nguyên tố cần in (max 5 600k gì đó )
        
    long int m[n];
        for (
    i=3,k=0,m[0]=2;k<n;++i)
            for (
    j=0;;++j)
            {
                if (
    m[j]*m[j]>i)//số nguyên tố là số không chia hết cho snt < sqrt của nó.
                
    {
                    
    m[++k]=i;
                    
    printf("%10d",i);
                    break;
                }
                if (
    i%m[j]==0) break;//số nguyên tố là số không chia hết cho snt < sqrt của nó.
            
    }


    Comment


    • #17
      tham khảo cái này xem
      Code:
      #include "conio.h"
      #include "stdio.h"
      int ktsnt(int n)
      {
      	if(n<2) return 0;
      	for(int i=2; i<=n/2;i++)
      	{
      		if(n%i==0) return 0;
      	}
      	return 1;
      }
      void main()
      {
      	int n,k=0;
      	printf("nhap n=");
      	scanf("%d",&n);
      	for (int i=2;k<n;i++)
      	{
      		if(ktsnt(i))
      		{
      			k++;
      			printf("%d ",i);
      		}
      	}
      	getch();
      }

      Comment


      • #18
        như nè dùng C free thì chạy OK nhưng dùng VS thì báo lỗi này
        on6.cpp(14): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

        Code:
        #include<stdafx.h>
        #include<stdio.h>
        #include<conio.h>
        int lsnt(int n)
        {
        	int i=2;
        	if(n<2) return 0;
        	if(n==2) return 1;
        	for(;i*i<=n;i++)
        	if(n%i==0) return 0;
        	return 1;
        }
        main()
        {
        	int i,k=2,dem=0,n;
        	printf("nhap a   ");scanf("%d",&n);
        	while(dem<n)
        	{
        	    if(lsnt(k))
        		{
        			printf("%d\n",k);
        			dem++;
        		}	
        	  k++;
        	}
        }
        Phú quý vinh hoa như ảo mộng
        Tiền tài danh vọng tựa phù du....

        Comment


        • #19
          Originally posted by 12520037 View Post

          Code:
          #include<stdio.h>
          #include<conio.h>
          int lsnt(int n)
          {
          	;
          	if(n<2) return 0;
          	if(n==2) return 1;
          	for(int i=2;(i*i)<=n;i++)
          	if(n%i==0) return 0;
          	return 1;
          }
          
          }
          bạn thử cái này xem

          Comment


          • #20
            dạ cho em hởi nếu bài này dùng đệ quy thì làm như thế nào ?
            :sexy::sexy::sexy: BMSG

            Comment


            • #21
              vô tình thấy cũng post lên một cách cho tham khảo
              Code:
              #include<stdio.h>
              #include<conio.h>
              
              bool primes(int n)
              {
              	if(n < 2) return false;
              	if(n == 2) return true;
              	for(int i = 2; i < n; i++)
              	if(n % i == 0) return false;
              	return true;
              }
              
              int main()
              {
              	int n, count;
              	printf("\nEnter number: \nn = ");
              	scanf("%d", &n);
              	count = 0;
              	int i = 0;
              	printf("\nn primes number: ");
              
              	while(count < n)
              	{
              		if(primes(i))
              		{
              			printf("\t%d", i);
              			count++;
              		}
              		i++;
              	}
              
              	getch();
              }

              Comment

              LHQC

              Collapse
              Working...
              X