⑴ 用c语言判断一个数是否为素数
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Judge(int x)
{
while(x>1)
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
if(x<=1)
return 0;
}
main()
{
int x;
printf("请输入一个数:");
scanf("%d",&x);
switch(Judge(x))
{
case 0: printf("\n%d不是素数",x);break;
case 1: printf("\n%d是素数",x);break;
}
system("pause");
}
⑵ C语言中怎么判断一个数是否是素数
设置一个循环,用一个2至这个数的平方根(取较大整数)数去除这个数,不存在任意一数可整除,则这个数就是素数,否则不是。如:
for(i=2;i*i<=n;i++)
if(n%i==0)
break;
if(i*i>=n)
printf("%d是素数 ",n);
else
printf("%d不是素数 ",n);
⑶ 用C语言怎样判断一个自然数为素数
//判断一个数是否为素数
#if
0
#include<stdio.h>
#include<math.h>
int
main()
{
int
i=2,n,k;
printf("Enter
n:\n");
scanf("%d",&n);
k=sqrt(n)+1;
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
if(i>=k)
printf("%d
is
prime
number\n",n);
esle
printf("%d
is
not
prime
munber\n",n);
}
}
#endif
这是我以前上机运行过的,你可以看一下,还有跟这相关的,你也可以看一下。
//输出2-100之间的所有素数,(质数)
#if
0
#include<stdio.h>
int
main()
{
int
i,n,t=0;
for(n=2;n<=100;n++)
{
i=2;
while(i<n
&&
n%i
!=0)
i++;
if(i==n)
{
printf("%d\t",n);
//注意\t
t++;
if(t%8==0)
printf("\n");
}
}
}
#endif
//统计整型数组a中素数的个数
#if
0
#include<stdio.h>
int
a[10]={1,2,3,4,5,6,7,8,9,10};
int
isprime(int
m)
{
int
i;
for(i=2;i<m/2;i++)
if(m%i==0)
return
0;
return
1;
//如果不是素数,返回0,返回1
}
main()
{
int
num_prime=0;
int
i;
for(i=0;i<10;i++)
if(isprime(a[i]))
{
num_prime++;
printf("a[%d]",i);
printf("%-8d",a[i]);
}
printf("\n
prime
number:%d\n",num_prime);
}
#endif
运行的时候把#if0
和#endif
去掉,你可以试试啊
⑷ c语言:判断一个数是否为素数
经过vc调试了。如有不懂得地方可以在问我。
#include <stdio.h>
#include <math.h>
int prime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)break;
if(i>sqrt(n))return 1;
else return 0;
}
void main()
{
int n;
printf("Input a number:");
scanf("%d",&n);
if(prime(n))printf("Yes\n");
else printf("No\n");
}
⑸ C语言编写一个程序判断一个数是否为素数急求
目的:判断一个数是否为素数
#include<stdio.h>
intmain(void)
{
int m;
inti;
scanf("%d",&m);
for(i=2;i< m;i++) //2到(m-1)的数去除m
{
if(m%i==0)//判断能否整除
break;
}
if(i== m)
printf("YES!
");
else
printf("No!
");
}
for循环的功能:
①若能整除,通过break跳出函数;
②若一直到m-1都不能整除,此时i再自增1到m,不满足i< m跳出for循环,这时i= m。
(5)怎么判断一个数为素数c语言扩展阅读:
素数定理:
1、在一个大于1的数a和它的2倍之间(即区间(a,2a]中)必存在至少一个素数。
2、存在任意长度的素数等差数列。
3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。
4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。
5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为(1+5)(中国潘承洞,1968年)。
6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为(1+2)。
⑹ 求C语言编程,判断一个数是不是素数
判断一个数是否是素数
#include "math.h"
int su(long x)
{
int i;
if(x%2==0) return 0;
else
for(i=3;i<sqrt(x);i+=2)
if(x%i==0) return 0;
return 1;
}
判断素数,若是就返回1,否则就返回0,先看能不能被2整出,若整除肯定不是素数,如不整除就看它能不能被3,5,7,9。。。一直到sprt(x),整除。若整除就不是素数
⑺ 如何用c语言编程判断一个数是不是素数
方法一:
#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<stdio.h>
intprime(intn){
inti=0;
if(n==0||n==1)return0;
for(i=2;i*i<=n;i++){
if(n%i==0)return0;
}
return1;
}
intmain(){
intn;
printf("请输入一个整数:");
scanf("%d",&n);
if(prime(n))printf("%d是一个素数!",n);
elseprintf("%d不是一个素数!",n);
return0;
}
⑼ C语言中判断一个数是否为素数
f是一个标记,当他的值为1时,说明他能被某个不为1和它本身的数整除,也就是说你输入的数不是素数,
至于那个i<=k和i>=k+1,如果你输入的那个数M一直都不能被从2到sqrt(m)整除时,经过循环后i=K+1,就满足i>=k+1,如果你输入的数M能被从2到sqrt(m)的某个数整除时,i就不会>=k+1
⑽ c语言,如何判断素数
break跳出的是离它最近的一个for循环,
break后面还要加 if(j>half)的内容是用来计算素数个数和素数和的,后面的计算没有用到half,只是用来判断的条件。