求素数程序代码(程序求素数算法)
求素数的C语言程序!
附代码:
#includestdio.h
#includemath.h
int main()//原理:设ab=c,ab,则有a根号cb。若设a恒小于根号c,则只需判断a是否为因数
{
int a, b;
printf("请按从小到大输入两个素数:");
scanf_s("%d %d", a, b);
int n = 0,m=0,sum = 0;
double i, j;//i是从a到b的待筛选数,j是从2到根号i的除数,要判断j是否为i的因数
for (i = a; i = b; i++)
{
m = 0;
int c = int(pow(i, 0.5));
for (j = 2; j = c; j++)
{
if ((i / j - int(i / j)) == 0.0)
{
m++;//m是i被从2到根号i的j除了之后,商为整数,即发现j是i的因数的次数
}
}
if (m==0)
{
printf("找到素数:%d\n", int(i));
n++;
sum = sum + i;
}
}
printf("大于等于%d,小于等于%d的素数的个数为:%d\n", a, b, n);
printf("它们的和为:%d", sum);
return 0;
}
c语言中如何求素数
思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数。
参考代码:
#includestdio.h
int?isp(int?n)//判断是否是素数,是返回1,否则返回0
{
int?i;
for(i=2;in;i++)
if(n%i==0)?return?0;
return?1;
}
int?main()
{
int?a;
scanf("%d",a);
if(isp(a))
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
return?0;
}
/*
输出:?
89
89是素数
*/
C语言求素数代码
方法有2个:
1、判断n是否能被2~√n间的整数整除
#includestdio.h
#includemath.h
int main()
{
int n,i;
double k;
scanf("%d", n);
k = sqrt(n);
for (i = 2; i = k;i++)
{
if (n%i == 0) break;
}
if (i =k) printf("This is not a prime.");
else printf("This is a prime");
return 0;
}
2、判断n是否能被2~n-1整除
#includestdio.h
int main()
{
int i, n;
scanf("%d", n);
for (i = 2; i n ; i++)
{
if (n%i == 0)
break;
}
if (i n) printf("This is not a prime.");
else printf("This is a prime.");
return 0;
扩展资料:
C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。
判断语句(选择结构):
if 语句:“如果”语句;if—else 语句:“若…(则)…否则…”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。
循环语句(循环结构):
while 语句:“当…”语句;do—while 语句:“做…当…(时候)”语句;for 语句:条件语句(即“(做)…为了…”语句)。
跳转语句(循环结构:是否循环):
goto 语句:“转舵”语句,也称“跳转”语句;break 语句:“中断”(循环)语句,即结束整个循环;continue 语句:“继续”语句(结束本次循环,继续下一次循环);return 语句:“返回”语句。
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
书写规则
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:百度百科-c语言
求"求素数的C语言程序"
#includestdio.h
intmain()
{
inta=0;
intnum=0;
inti;
printf("输入一个整数:");
scanf("%d",num);
for(i=2;inum;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素数。\n",num);
}else{
printf("%d不是素数。\n",num);
}
return0;
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若k%m==0则说明k不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:百度百科-枚举法