Thứ Hai, 5 tháng 3, 2012

Bài 2./ C : Liệt kê các số nguyên tố nhỏ hơn 1 số nguyên dương cho trước.


Bước 1 : inPut : 1 số nguyên dương.
              outPut : các số nguyên tố nhỏ hơn số trên.
Bước 2 :  Số nguyên tố là số chỉ có 2 ước.


#include<stdio.h>
#include<conio.h>


int ngTo (int);

main()

{
int n ;
char kiemtra ;

do{

printf("Nhap so nguyen duong n :=");
scanf("%d",&n);

ngTo(n);

printf("Co tiep tuc khong ? (C/K)");
kiemtra = getche();
printf("\n\n");

} while (kiemtra == 'c');

getch();
}

int ngTo ( int n )

{
int i , j ,dem=0;

printf ("Cac so nguyen to nho hon %d la :", n);

for (i=n-1 ;  i != 0;  i--)   // Vòng for 1

{
for (j =  i ; j !=0 ; j--)

{
if ( i % j == 0)
dem++;
}
                 // Đoạn dưới đây nằm trong vòng for 1 .
if (dem ==2) // So sánh như này sẽ mất nhiều thời gian khi n lớn , có cách nào khác không ?
printf( "%d, ", i );
dem = 0;  // Cập nhật lại biến đếm của từng số i .

    }
 
}

Không có nhận xét nào:

Đăng nhận xét