方法一:
#include<stdio.h>
int main(){
int i,j;
printf("请输入一个正整数。\n");
scanf("%d",&i);
if(i<2)
printf("小于2,请重新输入。\n");
elseif(i%2==0)
printf("%d不是一个素数。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一个素数。\n",i);
break;
}
if(j>i/2){
printf("%d是一个素数。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}while(a!=0);
}
C语言-寻找素数
附代码:
#include<stdioh>
#include<mathh>
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 = a; i <= b; i++)
{
m = 0;
int c = int(pow(i, 05));
for (j = 2; j <= c; j++)
{
if ((i / j - int(i / j)) == 00)
{
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;
}
#include <stdioh>
#include <mathh>
int main()
{
int i,j,n,flag;
int num;
/ 判断输入的数是否是素数 /
printf("请输入一个正整数:");
scanf("%d", &num);
for(i=2,flag=1; i<=(int)sqrt(num);i++)
{
if(num % i ==0)
{
flag=0;
break;
}
}
if(flag==1)
printf("%d 是一个素数。\n\n", num);
else
printf("%d 不是一个素数。\n\n", num);
/ 列出2~1000之间个位数是3或7的素数 /
printf("2~1000之间个位数是3或7的素数:\n");
for(i=2; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
printf("%d\t",i);
}
/ 输出10个2~1000之间个位数是3或7的素数 /
printf("\n\n2~1000之间个位数是3或7的素数:\n");
for(i=2,n=0; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
{
n++;
if(n<=10)
printf("%d\t",i);
}
if(n>10)
break;
}
return 0;
}
1、写我们的头文件和主函数。写好我们的开头。
2、编写定义变量,我们语言定义一个i来用于后面的for循环。
3、我们输入一个数,在那之前我们要有一个printf()提示一下。
4、利用for循环看一看从2到n-1是否能被n整除,如果能就要break。
5、判断素数,如果程序正常结束,就i>=n,说明他就是素数。
6、如果通过break结束,他就会i<n,所以他就不是素数。
7、输出最后结果。
#include <stdioh>
#include <mathh>
//判断是否为素数的函数
int isPrime(int n)
{
int i=2;
while(i<=(int)sqrt(n))
{
if(n%i == 0)
return 0; //不是素数,直接返回0
else
i++;
}
return 1;
}
int main()
{
int n;
printf("输入一个正整数: ");
scanf("%d",&n);
if(isPrime(n))
printf("%d is a prime number\n",n);
else
printf("%d is not a prime number\n",n);
return 0;
}
示例运行结果:
输入一个正整数: 29
29 is a prime number
输入一个正整数: 25
25 is not a prime number
以上就是关于如何用c语言编程判断一个数是不是素数全部的内容,包括:如何用c语言编程判断一个数是不是素数、求判断素数的C语言程序、用c语言编写一个程序,判断输入的数是否是素数(质数)。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)