用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
一个个试
或者运用数论里的 素性判定 的知识本回答被提问者和网友采纳
相似回答