您的位置:首页 > 编程语言 > C语言/C++

【c语言】统计一个整数所包含的素因子并输出

2014-12-19 20:42 253 查看
#include<stdio.h>
#include<math.h>
int prime(int n){
int i;
if(n<2){
return 0;
}
for(i=2;i<=sqrt(n);i++){
if(n%i==0){
return 0;
}
}
if(i>=sqrt(n)){
printf("素数:%d\n",n);
return 1;
}

}

void main(){
int i,n,count=0;
while(1){
printf("请输入一个整数:");
scanf("%d",&n);

for(i=0;i<=n;i++){
count+=prime(i);
}
printf("整数%d有%d个素数因子\n",n,count);
}
}

备注: for(i=2;i<=sqrt(n);i++){
if(n%i==0){
return 0;
}
}

这段代码中,判断是不是素数不能用break,必须用return 0,不然后面的count会是一个很奇怪的大数字!不要问我是怎么知道的,血的教训!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐