#include <stdio.h>
int main()
{
int a=0
int num=0
int i
printf("输入一个整数:")
scanf("%d",&num)
for(i=2i<numi++){
if(num%i==0){
a++
}
}
if(a==0){
printf("%d是素数。\n", num)
}else{
printf("%d不是素数。\n", num)
}
return 0
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若 k%m==0 则说明 k 不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:百度百科-枚举法
C语言-寻找素数
附代码:
#include<stdio.h>
#include<math.h>
int main()//原理:设ab=c,a<b,则有a<根号c<b。若设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 = ai <= bi++)
{
m = 0
int c = int(pow(i, 0.5))
for (j = 2j <= cj++)
{
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
}
除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t
pr
#include
#include
main()
{
int a,i,flag,count=0
for(a=1a <=100a++)
{
flag=0
for(i=2i
#include int main()
{
int i,n,k,b
for(i=1,b=1i<=100i++)
{
for(n=2n {
k=i%n
if(k==0)
break
}
扩展资料:
C语言注意事项:
1、预编译命令不是语言语句,不使用分号,不占用运行时间。
2、在IDE中通常包括编辑器,编译器,汇编器和链接器,在这个过程中是语言等级逐级降低的过程,从最高级的c语言到中级语言汇编语言再到低级语言机器语言,编辑器生成文件为.c文件,编译器生成的文件为obj汇编器生成的文件为.0文件,链接器生成的是exe文件。
3、注意 return和exit的区别, return是让本函数运行结束,而exit是让本程序运行结束。
4、在指针定义时,一定要进行初始化,否则就会出现意想不到的错误,如果不能找到对应地址赋值,那就赋给NULL(注意大写)。
5、gets可以 scanf办成办不成的事,就是可以接受空格,puts在最后会输出一个换行。