用C语言写"输入一个正整数m,判断它是否为素数"的程序。

如题所述

#include<stdio.h>
#include<math.h>
int shu(long unsigned num) //判断一个给定的数num是不是素数
//是返回1,否则返回0
{
int t,i;
t=sqrt(num)+1;
for(i=2;i<t;i++)
{
if(num%i==0)
break;
}
if(i==t)return 1;
return 0;
}

int main()
{
int n;
printf("请输入任意一个正整数:");
scanf("%d",&n);
if (shu(n))
printf("\n%d是素数!",n);
else
printf("\n%d不是素数!",n);
return 1;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-12
#include "stdafx.h"
#include "math.h"
int main()
{
int n,i;
printf("请输入一个数");
scanf("%d",&n);
if((n==2)) printf("%d是素数",n);
else
{
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
printf("%d不是素数",n);
break;
}

}
if(i>=sqrt(n) printf("%d是素数",n);

}
return 0;
}
第2个回答  推荐于2018-03-19
#include<stdio.h>
main()
{
int m,i;
double s;
scanf("%d",&m);
for(i=2;i<m;i++)
{
s=m%i;
if(s==0)
{
printf("%d不是素数",m);
break;
}
}
if(i>=m)
printf("%d是素数",m);
}
第3个回答  2011-04-12
m 的大小有限定吗
在500以内都可以有 1-17内的素数去除
第4个回答  2011-04-12
一个个试
或者运用数论里的 素性判定 的知识本回答被提问者和网友采纳

用C语言输入一个正整数m,判断它是不是素数,每组输入三个数?
1. 将m除以2到m-1之间的所有整数,如果能够整除其中任意一个数,则该数不是素数。2. 如果m不能被2到m-1之间的任何整数整除,则它是素数。按照题目要求,每组输入三个数。下面是一个示例程序,可以连续输入多组三个数进行判断:```include <stdio.h> \/\/ 判断一个正整数是否为素数 int is_pri...

判断是否为素数:输入一个正整数m,判断其是否为素数。(C语言编程设计思路...
思路见注释——\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int prime(int n){\/\/定义一个素数判断函数,判断传入的n,是返回1,否则返回0 int i; if(n>2 && !(n&1) || n<2)\/\/小于2的数和大于2的偶数不是素数 return 0; for(i=3;...

判断是否为素数:输入一个正整数m,判断其是否为素数。(C语言编程设计思路...
最简单的思路,就是从2开始逐个判断能否整除,如果存在本身以外因子,就不是质数,否则是质数。代码:int is_prime(int n){int i;for(i = 2; i <= sqrt(n); i ++)if(n%i == 0) return 0;return 1;}int main(){ int n; scanf("%d",&n); if(is_prime(n)) printf("...

输入一个正整数m判断m是否素数素数是指仅能被1和它自己整除的数。是...
用的C语言:include<stdio.h>#include<math.h>int prime(int n){int flag=1,i;for(i=2;i<=(int)sqrt(n);i++){if(n%i==0) flag=0;break;}return flag;}void main(){int n;printf("请输入一个整数:"); scanf("%d",&n);if(prime(n))printf("Prime\\n");else prin...

判断是否为素数:输入一个正整数m,判断其是否为素数。【C语言编程,不用...
include <cmath> int pr(int n);using namespace std;int main(){ int a;cin>>a;if(pr(a))cout<<"Yes"<<endl;else cout<<"No"<<endl;getchar();return 0;} int pr(int n){ int j,k=0;for(j=2;j<=(int)(sqrt(n));j++)if(n % j==0)break;if(j>(int)(sqrt(n)...

用C语言 从键盘上任意输入一个正整数,判断是否为素数。
unsigned num)\/\/判断一个给定的数num是不是素数 \/\/是返回1,否则返回0 { int t,i;t=sqrt(num)+1;for(i=2;i<t;i++){ if(num%i==0)break;} if(i==t)return 1;return 0;} int main(){ int n;printf("请输入任意一个正整数:");scanf("%d",&n);if (shu(n))printf("\\n...

C语言编程判断输入的正整数是否为素数。
因为输入的不止一个数,开头的初始化g=0,在第一个数的时候就可能已经被改了。后面的数不重新初始化g=0,就不能保证对了。判断一个正整数n是不是素数的思路:思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数...

编写一个程序:判断输入的正整数m是否是素数?
<stdio.h>int main(){ int n,i,flag=1;scanf("%d",&n);for(i=2;i<n;i++)if(n%i == 0){flag=0;break;}if(flag)printf("%d is a prime\\n",n);elseprintf("%d isn`t a prime\\n",n); return 0;}示例运行结果:29 29 is a prime 25 25 isn`t a prime ...

求C语言中 判断素数的 代码!!!
可用以下程序段实现:void main(){ int m,i,k;printf("please input a number:\\n");scanf("%d",&m);k=sqrt(m);for(i=2;i<k;i++)if(m%i==0) break;if(i>=k)printf("该数是素数");else printf("该数不是素数");} 将其写成一函数,若为素数返回1,不是则返回0 int prime(...

键盘输入一个正整数,程式设计判断其是否为素数(即质数)
if(i==a)printf("是素数");} 由键盘输入一个正整数,判断它是否为质数#include"stdio.h"intFun(inti){ if(i==1)returnfalse;else { for(intj=2;j<i;j++)if(i%j==0)return0;return1;} } voidmain(){ intn;printf("请输入你要判断的数:\\n");scanf("%d",&n);if(Fun(n)==...

相似回答