① 求N之内的素数,c语言
include long fun(int n){ int x; int y; int k; long accumulate=1; for(x=2;x<=n;x++){ k=1; for(y=2;y
② c语言求n的以内的素数积
fun函数缺大括号
#include<stdio.h>
longfun(intn)
{
intx;inty;
for(x=2;x<=n;x++)
{
for(y=2;y<x;y++)
{
if(x%y==0)
{
break;
}
n=x+n;
}
}
}
intmain()
{
intm;
scanf("%d",&m);
printf("Theresultis%ld ",fun(m));
}
发现程序好像有问题,帮你改了一下
#include<stdio.h>
longfun(intn)
{
intx,y,s=1,flag;
for(x=2;x<=n;x++)
{
flag=0;
for(y=2;y<x;y++)
if(x%y==0)
{
flag=1;
break;
}
if(flag==1)
s=x*s;
}
returns;
}
intmain()
{
intm;
scanf("%d",&m);
printf("Theresultis%ld ",fun(m));
}
如有不懂,欢迎追问!
③ c语言纠错 程序要求求出小于n的素数之和
goto 相当于循环 do while又是循环 两个循环这样交叉肯定容易出现问题啊。
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,sum=0;
double k;
scanf("%d",&n);
i=1;
do{
k=sqrt(n);
while(++i<=k)
{
if(n%i==0)
{
break;
}
}
if(i>k)
sum=sum+n;
n--;
i=1;
}while(n>1); //1不是素数
printf("sum=%d\n",sum);
return 0;
}
④ C语言 实现求小于N的所有的素数的和程序如下,求解
一、scanf("%d\n",&n);
这句的\n需要去掉,或改为:
scanf("%d%*c",&n);
二、你需要将源代码文件扩展名命名为.cpp
编译器选C++编译器就好了。
如果是.c,则需要改一下:
int j;
for ( j=2; j<i; j++)
⑤ 求C语言求小于变量N的最大素数
c++代码,并且运行通过:
#include"stdafx.h"
#include<process.h>
#include"iostream"
usingnamespacestd;
intmain()
{
intN;
cout<<"Pleaseenteranumber:"<<endl;
cin>>N;
for(inti=2;i<N;++i)
{if(N%i==0)
{N=N-1;}
else
{cout<<"Thenumberis"<<N<<endl;
break;
}
}
system("pause");
return0;
}
⑥ c语言作业 用筛选法求N之内的素数。(N小于等于100)。
#include<stdio.h>
#define MAXNUM 100
int main()
{
int output[MAXNUM],num=0,n,i,j;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i-1;j++)
{
if(i%j==0)
break;
}
if(j==i)
{
output[num++]=i;
}
}
printf("num=%d\n",num);
for(i=0;i<num;i++)
{
printf("%d ",output[i]);
}
printf("\n");
return 0;
}
⑦ C语言 输出大于m,小于n的所有素数,请问哪里出错了
scanf("%d%d",&m,&n);
⑧ c语言。求所有小于n的素数的个数。 求大神帮看这个程序哪里写错了 #include<stdi
#include<stdio.h>
int main()
{int a,b,i,n;
b=0;
scanf("%d",&i);
for(n=i-1;n>=2;n--)
{
for(a=2;a<=n;a++)
{
if(n%a==0)break;
}
if(a==n)
b=b+1;
}
printf("%d以下有%d个素数",i,b);
return 0;
}
n从I-1开始是因为要找小与n的素数的个数
如果是素数for(a=2;a<=n;a++)就一定会在a=n的时候跳出循环
if(a==n)然后统计素数的个数
⑨ C语言 求小于等于N以内的素数之和。越简单越好,谢谢!
main()
{
int i,j,n;
int sum;
sum=0;
scanf("%d",&n);
for (i=3; i<=n; i++)
{
// 为什么是sqrt(i),思考一下
for (j=2; j<=sqrt(i); j++)
{
// i被j整除,显然不是素数了
if (i%j == 0) break;
}
// i不能被2~sqrt(i)间的数整除,素数也
if (j > sqrt(i))
{
sum += i;
}
}
printf("%d",sum);
}