首页 > 代码库 > 【c语言】统计一个整数所包含的素因子并输出
【c语言】统计一个整数所包含的素因子并输出
#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会是一个很奇怪的大数字!不要问我是怎么知道的,血的教训!
【c语言】统计一个整数所包含的素因子并输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。