1. 关于素数的算法:
用两个for循环,外循环是要求的范围,内循环是从2到sqrt(外循环范围中的一个值+1);设置一个flag,来表明是否是素数;
具体实现:
#include <stdio.h>
#include <math.h>
int main (void)
{
int i, j;
bool flag = 0; //设立标志位,0表示非素数,1表示素数;
for(i = 101 ; i <= 200 ; i++) //求101~200的素数,并且打印出来;
{
for(j = 2 ; j <= sqrt((double)(i+1)) ; j++)
{
if(i % j == 0)
{
flag = 0;
break;
}
else
flag = 1;
}
if(flag)
printf("%d ", i);
}
return 0;
}
2. 关于水仙花数的算法:
主要是知道水仙花数的概念,然后分离出个位,十位和百位即可;
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
具体实现:
#include