⑴ c語言:用篩法求之N內的素數。求用最容易懂的方法,我是大一新生,別用太高級的。復制的別來!
#include<stdio.h>
int main()
{
int i, j, a[100]={0};
for (i = 2; i < 100; i++)
a[i] = 1; //從2開始初值賦1,相當於true
for (i = 2; i < 100; i++)
{
if (a[i])
for (j = i * 2; j < 100; j += i)
a[j] = 0; //標記置0
}
for(i=0;i<100;i++)
if(a[i])
printf("%d\n",i);
return 0;
}
⑵ 鍵盤輸入一個整數n,求2到n之間(包括n)的素數和,用C語言,怎麼寫
#include <stdio.h>
int main()
{
int N, i, j;
printf("輸入一個數:");
scanf("%d", &N);
for (i = 2; i <= N; i++)
{
for (j = 2; j < i; j++)
if (i % j == 0)
break;
if (i == j)
printf("%d ", i);
}
return 0;
}
⑶ C語言求2到N素數的問題
#include <iostream>
using namespace std;
bool B(int &n) //一個函數判斷是否為素數
{
int i;
float k = float(n);
float j = sqrt(k);
for(i=2;i <= j;++i)
{
if( n%i == 0 || n == 0 )
return false;
}
return true;
}
void main()
{
int N;
cout << "輸入N的值:" ;
cin >> N;
cout << "2到N的素數為:" << endl;
for(int i = 2;i<N;i++)
{
if(B(i))
{
cout << i <<" ";
}
system("pause");
}
⑷ c語言中用篩選法求素數
一個質數。在大於1的自然數中,除1和100整數本身外,不能被任何其他自然數整除的次數。素數在數論中起著重要的作用。
大於1但沒有質數通道的數稱為合數。1和0既不是質數也不是合數。
通過濾波法得到的100以內質數的源代碼如下:
#include"stdio.h"
main()
main()
{
IntI,j。
對於(I = 2;我< 99;我+ +)
{
對於(j = 2;<我;J + +)
{
If(I%j==0)
{
打破;
}
如果(j==I-1)
{
Printf(「%4d」,I);
}
(4)c語言中如何篩選2n以內的素數擴展閱讀:
100以內的數字代碼如下
包含< bits/stdc++。H >
使用命名空間性病。
Intthesum(Intn)
{
返回(n/10+n%10%)+(10)(n/10%*(n%10));
}
Intmain(){
Intn=100;
For (int I = 10;I < = n;我+ +)
{
If (sum (I) = = I) cout < < I < < endl;
}
返回0;
}
⑸ C語言基礎小問題,找2-N素數的個數
判斷一個數是不是質數只需檢查其是否被2到其平方根范圍內的數整除即可, 至於main中無需a,用i即可。
int Isprime(int n)
{
int i=3;
if(n==2)return 1;
if(n==1||n%2==0)return 0;
while(i*i<=n)
{
if(n%i==0)return 0;
i+=2;
}
return 1;
}
main:
for(i = 2; i < = n-2; i++)
if(Isprime(i) && Isprime(i+2))
printf("%d\n", i);
⑹ 用C語言如何判斷素數
按照如下步驟即可用C語言判斷素數:
1、首先打開visual C++ 6.0,然後點擊左上角的文件,再點擊新建。
⑺ c語言求素數
int fun(int n)
{ int a[10000], i,j, count=0;
/*將a數組賦值2-20*/
for (i=2; i<=n; i++)
a[i] = i;
i = 2;
/*將2到20之間2的偶數倍和2個偶數之和的數賦值0*/
while (i<n)
{
for (j=a[i]*2; j<=n; j+=a[i])
a[j] = 0;
i++;
/*判斷如果查找到得是已經被賦值為0的數則去尋找下一個數*/
while (a[i]==0)
i++;
}
printf("\nThe prime number between 2 to %d\n", n);
/*輸出在0-20之間的素數並用count計數*/
for (i=2; i<=n; i++)
if (a[i]!=0)
{
count++;
printf( count%15?"%5d":"\n%5d",a[i]);
}
return count;
⑻ c語言 輸入一個整數n,輸出2~n之間的素數個數,包括2和n。
#include "stdio.h"
int main()
{
int n, i, a, flag, j=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
flag=0;
for(a=2;a<i;a++)
if(i%a==0)
{
flag=1;
break;
}
if(flag)
continue;
j++;
}
printf("%d\n",j);
}
⑼ c語言輸出2~n間的素數
#include "stdio.h"
#include "math.h"
void main()
{
int i,j,n;
int t=0;
printf("Please input n:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
t++;
}
if(t==0)
printf("%d\t",i);
t=0;
}
}
⑽ 求2至n以內素數個數 C語言編程
#include<stdio.h>
char fun(int n)
{
int j;
for(j=2;j<n;j++)
if(n%j==0)return 0;
return 1;
}
void main()
{
int i=0,sum=0;
for(i=2;i<200;i++)
if(fun(i))sum +=i;
printf("\t200內素數:%d",sum);
}