您的位置:首页 > 其它

输入一个整数n,判断这个数是否质数

2009-10-16 22:32 741 查看
简单的算法,简单的思路.但是中间被一个问题折磨了,那就是编译的时候必须用命令

gcc main -lm

否则不通过

=================

判断一个整数n是否质数,首先判断n是否小于2,如果小于2,那么就不是质数.

接着就是取n的平方根sn,用循环for(i=2;i<=sn;i++),把n/i依次求余数,如果余数=0那么就是可以被当前i整除,因为i>1,所以就能判断n不是质数.否则n为质数.

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main(int argc, char *argv[])
{
int n=0;
if(2 == argc){
n=atoi(argv[1]);
}
else{
printf("N has no value./n");
return 0;
}
if(n < 2){
printf("No/n");
return 0;
}

int sn=(int)(sqrt((double)n)), i;
printf("n=%d, sn=%d/n",n,sn);
for(i=2;i<=sn;i++){
printf("i=%d, n%%i=%d/n",i,n%i);
if(0 == (n%i)){
printf("No/n");
return 0;
}
}
printf("Yes/n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐