来一个经典算法:
#include
#include
int y_prime(int n);
int main(void)
{
int i;
for(i=100;i<200;i++){
if(y_prime(i)) printf("%d ", y_prime(i));
}
putchar(10);
return 0;
}
int y_prime(int n)
{
int i;
for(i=2;i*i<n;i++){
if(n%i==0){
return 0;
break;
}
else if(i>=sqrt(n)-1) return n;
}
}
呵呵,这种算法减少了计算的次数。。。。
#include
#include
int y_prime(int n);
int main(void)
{
int i;
for(i=100;i<200;i++){
if(y_prime(i)) printf("%d ", y_prime(i));
}
putchar(10);
return 0;
}
int y_prime(int n)
{
int i;
for(i=2;i*i<n;i++){
if(n%i==0){
return 0;
break;
}
else if(i>=sqrt(n)-1) return n;
}
}
呵呵,这种算法减少了计算的次数。。。。
Edsger Dijkstra:算法+数据结构=程序