嵌入式学习:今天学习了循环结构方面的知识,学习到了一个有关素数的习题。
求100~200间的全部素数:
#include <stdio.h>
#include <math.h>
Int main()
{
Int n,k,I,m = 0;
For(n= 101;n<=200;n +=2) //n从100变化到200,对每个n进行判定
{k=sqrt(n);
For(i=2;i<=k;i++)
If(n%i== 0)break; //如果n被i整除,终止内循环,此时i<k+1
If(i>=k+1) //若i>=k+1,表示n未曾被整除
{printf(“%d”,n); //应确定n 是素数
m=m+1; //m用来控制换行,一行内输出10个素数
}
If(m%10==0)printf(“\n”); //m 累计到10的倍数,换行
}
Printf(“\n”);
Return 0;
}
由常识,偶数不是素数,所以不必对偶数进行判定,只对奇数进行检查,故外循环变量n从101开始,每次增值2.