【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会是一个很奇怪的大数字!不要问我是怎么知道的,血的教训!
#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会是一个很奇怪的大数字!不要问我是怎么知道的,血的教训!
相关文章推荐
- 设计算法来统计一个输入字符串中所包含的整数个数,并输出这些数
- Problem Description 求n个数的最小公倍数。 Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。 Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。 Sample
- 需找符合条件的整数(输入整数N,输出一个最小自然数M,使N*M结果只包含1跟0)
- 统计一个整数中包含1的个数
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 编写函数,其功能是:将一个数字字符串转换为一个整数(不得调用C语言中提供的将字符串转换成整数的函数。)要求在主函数中输入该字符串并输出转换后的整数的值。
- 4.输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 输入一个字符串,统计共有多少个整数并输出。
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 【c语言】给一个不多于5位的正整数,要求: 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字
- C语言位段操作,写一个程序,从键盘上接收一个整数,用二进制形式输出这个整数
- 输入一个字符串内有数字和非数字字符,将连续的数字作为一个整数,存到数组a中,统计整数的个数,并输出这些数
- ACM457现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。输入 第一行只有一个整数m(m<=10),表示测试数据组数。
- 整数划分问题:输出一个整数的所有划分并统计总划分数
- C语言实验——输入一个整数的小写金额值,转化为大写金额值并输出
- 输出一个整数的质数因子
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- (c语言)输入一个整数,将其逆序输出
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 输入一个字符串,统计共有多少个整数并输出。