1000以內素數c語言
⑴ 用c語言求1000以內的素數(素數是只能被1和它本身整除的數)
int i,j,k;
for(i=2;i<=1000;i++)
{
k=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
k=1;
break;
}
}
if(k=0)
printf("%d",i);
}
主體這樣,前綴什麼的自己加上就好了。
⑵ 用C語言輸出1000以內的全部素數
如下圖所示:
⑶ 用c語言求1000以內的素數···謝謝了···
#include"stdio.h"
main()
{
int i,m;
int flag;
for(i=2;i<=1000;i++)
{
flag=1;
for(m=2;m<i;m++)
{
if(i%m==0)
{
flag=0;
break;
}
}
if(flag==1)
printf("%d ",i);
}
}
//隨機辯液產生1000個4位自然數,將其中素數降序排列後輸出:需要很長的程序,你另外提問一個吧,可攜睜物以向我求助,如果沒早衡分了也不要緊
⑷ C語言程序 輸出1000以內的所有質數,每5個換一行
可以參考下面的代碼:
#include<stdio.h>
#include<math.h>
intis_prime(intn)
{
inti;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)顫纖扒return0;
return1;
}
intmain()
{
inti,n=0;
for(i=2;i<1000;i++)
{
if(is_prime(i))
{
printf("%d",i);
n++;
if(n%5==0)printf(" "豎襪);
}
}
}
(4)1000以內素數c語言擴展閱讀:
C語言參考函數:
double pow(double x,double y) 返回茄昌x^y的值
doublepow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
C語言isupper()函數:判斷一個字元是否是大寫字母
C語言isspace()函數:判斷一個字元是否是空白符
C語言isprint()函數:判斷一個字元是否是可列印字元
⑸ C語言程序:1000以內的最大的20個素數之和
一個素數是指只能被1和自身整除的正整清睜數,例如2,3,5,7等。為了找出1000以內的最大的20個素數,我們可以從999開始遞減地檢查每個奇數是否是素數,直到找到20個為止。然後答並歲我們把這20個素數相加得到和。
下面是一個可能的C語言程序:
#include <stdio.h>#include <math.h>// 判斷一個正整數是否是素數int is_prime(int n) { // 1不是素數
if (n == 1) return 0; // 2是唯一的偶數素數
if (n == 2) return 1; // 其他偶數不是素數
if (n % 2 == 0) return 0; // 檢查從3到sqrt(n)之間的奇數因子
for (int i = 3; i <= sqrt(n); i += 2) { if (n % i == 0) return 0;
} // 沒有找到因子,說明是素數
return 1;
}//蔽罩 計算1000以內的最大的20個素數之和int main() { int sum = 0; // 素數之和
int count = 0; // 素數個數
int n = 999; // 當前檢查的奇數
while (count < 20) { // 如果n是素數,就累加到sum,並增加count
if (is_prime(n)) {
sum += n;
count++;
} // 下一個要檢查的奇數
n -= 2;
} printf("The sum of the largest 20 prime numbers under 1000 is %d\n", sum);
return 0;
}
⑹ c語言:輸出1000以內所有的素數,並統計素數的個數,要求每行輸出8個數。
//輸出1000以內的素數,統計素數的個數,要求每行輸出8個數
#include<stdio.h>
intmain()
{
inti;
intcount=0;//記錄共有多少素數
intcount1=0;//每8個素數就打一個回車
intsushu(inti);//判定素數的函數
for(i=2;i<1000;i++)//取2到999之間的素數
{
if(sushu(i))
{
count++;
count1++;
printf("%4d",i);
}
if(count1==8)//每8個素數打一個回車
{
printf(" ");
count1=0;
}
}
printf("共有%2d個素數",count);
}
intsushu(intn)//這是判斷一個數n是否是素數的函數
{
inti;
for(i=2;i<n;i++)
if(n%i==0)
return0;
return1;
}
附有簡單的注釋,望採納
⑺ 編寫一個程序,輸出1~1000之內所有的素數(注意:素數即質數)及個數(C語言)
源代碼如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{
w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d ",i);
else printf("%d ",i);
}
(7)1000以內素數c語言擴展閱讀
1、素數使用for循環查找2-1000以內的所有素數,循環次數為999次,在for循環中添加一個移位寄存器用以存儲所有的素數,其初始值為一個空數組。
2、在循環內部逐個數判斷是否為素數,若是素數,則使用"數組插入.vi"函數添加到移位寄存器的數組中,否則,移位寄存器中的值保留為上次的值。
⑻ c語言求1000以內的素數(素數是只能被1和它本身整除的數)
//這個比較靈活,可以按你的需要輸入N的值,求出N以內的所有素數//
#include<stdio.h>
#include<math.h>
void main()
{
int temp,k;
int N=0,n;
printf("Input Call:\n");
scanf("%d",&N);
printf("%d以內的素數有",N);
getchar();
if(N<=1)printf("Wrong!!!");
else
{
for(n=2;n<=N;n++)
{
temp = 0;
for(k=2;k<=sqrt(n)+1;k++)
{
if(n%k==0)
{
k=n;
temp=1;
}
}
if(temp==0)
{
printf("%d ",n);
}
}
}
printf("\n");
}
⑼ 怎麼用C語言求一千以內的素數
#include<stdio.h>
int main(void)
{
int x;
int y;
int count=0;
for(x=1;x<1000;x++)
{
y=x;
if(y>1)
{
while(y>=1)
{
if(x%y==0)
count++;
y--;
}
if(y==0&&count==2)
{
printf("%d\n",x);
}
count=0;
}
else printf("1\n");
}
return 0;
}
⑽ 求c語言程序 求1000以內的素數
可以編寫一個素數考察函數,在主函鏈檔數中調用該函數對1000以內的整數窮舉考察求解,也可以在主函數中直接對1000以內的整數窮舉考察求解。這里提供一個用篩選法求解的代碼,思路是聲明一個大棚空亂於等於1000個元素的char型(int型當然也可以,這里只是為了減少空間開銷)數組並全部初始化為1,對下標不是素數的元素清0,最後依次輸出不為0元素的下標便是題解。為提高操作效率,用2~33間(33^2>1000了,所以考察已充分了)的素數去除大於這個素數而小於等於1000的不為0的數,能整除的便將這個下標的元素清0。當用小於33的最大素數考察完畢後,依次輸出數組中不為0的元素下標即可。代碼如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
inti,j;
charm[1001];//聲明char型數組作為篩選對象
for(m[0]=m[1]=0,i=2;i<=1000;m[i++]=1);//m[0]和m[1]賦0,其餘賦1備選
i=2;//考察次數2~33,用期間的素數去除大於i且小於等於1000間不為0的數
while((j=i)<33){
while(!m[++j]);//取j為大於i的第一個不為0的數為起始考察對象
while(j<=1000){
if(j%i==0)//這個數若能被小於它的素數整除則以它為下標的元素清0
m[j]=0;
while(!m[++j]);//下一個不為0的數為考察對象
}
while(!m[++i]);//2~33間的下一個素數
}
for(j=i=0;i<=1000;i++)//以下是輸出
if(m[i])//不虧尺為0的數組元素的下標便是素數
printf(++j%20?"%4d":"%4d ",i);//每行輸出20個
if(j%20)
printf(" ");
return0;
}
運行結果如下: