c语言实现:
创新互联建站-专业网站定制、快速模板网站建设、高性价比吉阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吉阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吉阳地区。费用合理售后完善,十余年实体公司更值得信赖。
#includestdio.h
#define N 1000
int isPrime(int n)
{
int i;
for(i=2;in;i++)
{
if(n%i==0)
{
return 1;
}
}
return 0;
}
int main()
{
int i;
for(i=N;i0;i--)
{
if(isPrime(i)==0)
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
#include stdio.h
#include math.h
//判断是否为素数的函数
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,i;
printf("输入一个正整数: ");
scanf("%d",n);
for(i=2;i=n;i++)
{
if(isPrime(i)) //调用函数,如果该数为素数,则输出
printf("%d ",i);
}
printf("\n");
return 0;
}
示例运行结果:
输入一个正整数: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
我以前写的程序,绝对正确
#include stdio.h
#include stdlib.h
#include math.h
void main()
{
long num,nu;
long number();
int a=0;
while(1)
{
printf(\"1.判断是否是素数\\n2。退出\\n请选择:\");
scanf(\"%d\",a);
switch(a)
{
case 1:
printf(\"\\n请输入判断数字\");
scanf(\"%ld\",num);
nu=num;
num=number(num);
if(num!=0)
printf(\"%ld是素数\\n\",num);
else
printf(\"%ld不是素数\\n\",nu);
printf(\"\\n\\n\");
break;
case 2:
exit(0);
default:
printf(\"\\n您输入的有错误,请重新输入!\\n\\n\");
break;
}
}
}
long number(n)
long n;
{
static long k,i;
static long m;
k=(long)sqrt(n);
for(i=2;i=k;i++)
if(n%i==0)
break;
if(i=k+1)
m=n;
else
m=0;
return(m);
}
参考代码如下:
#include "stdio.h"
void decompose(int n)
{
int i,fac=1;
while(n1){
for(i=2;i=n;i++)
if(n%i==0){
fac=i;
break;
}
if(n!=fac)
printf("%d*",fac);
else
printf("%d",fac);
n/=fac;
}
}
int isPrime(int x)
{
int i;
if(x=1)
return 0;
for(i=2;ix;++i)
if(x%i==0) return 0;
return 1;
}
int main( )
{
int n;
scanf("%d",n);
if(n=0){
printf("error");
return 0;
}
if(isPrime(n))
printf("没有因子,是素数");
else{
printf("%d=",n);
decompose(n);
}
}