① 求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);
}