1樓:冠興
1:這個程式的思想是篩法求素數,把非素數全部置為零;
2:之所以輸出混亂,是因為在程式的最後多出了乙個printf("");
3:對於輸出的最後乙個數混亂,是因為沒有初始化,注意初始化a[100]=100;
然後把j<100改成j<=100即可。
4:對於最後乙個for迴圈,是為了格式化輸出素數,每排十個,顯得更整齊;
修改過的程式如下:
#include ""
#include
void main()
int i,j,n,a[101];
for(i=1;i<100;i++)
a[i]=i;
a[1]=0;
for(i=2;iif(a[j]%a[i]==0)
a[j]=0;
printf("");
for(i=1,n=0;i<=100;i++)2if(a[i]!=0)
printf("%5d",a[i]);
n++;if(n==10)
printf("");
n=0;祝樓主學習愉快~~
2樓:劉喬羽
最後乙個for迴圈少了乙個右大括號。
還有就是初始化的時候是1~99,所以a[100]中的數是沒有意義的,而後迴圈列印的時候,它可能就蹦出來了。
#include ""
#include
void main()
int i,j,n,a[101];
for(i=1;i<100;i++)
a[i]=i;
a[1]=0;
for(i=2;iif(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
printf("");
for(i=1,n=0;i<100;i++)if(a[i]!=0)
printf("%5d",a[i]);
n++;if(n==10)
printf("");
n=0;printf("");
c語言素數怎麼表示
3樓:小夏在深圳
#include
#include
using namespace std;
int main()
if(i>sqrt(num)
cout<擴充套件資料c語言迴文素數**。
#include
int main()
elseif(m==n) }
return 0;}
4樓:洛素羽
除了以上方法以外,還可以用空間換時間的方法加快速度。
#include
#define n 100//這裡的100是素數上限。即生成素數範圍是1~100,可更改此數值。
using std::cin;
usint std::cout;
using std::endl;
bool book[n];//用布林節省空間int main()
return 0;
**完畢,十分簡短,可以將時間複雜度從o(n^3)降到o(n^2)。唯一的缺點就是比較耗記憶體。
c語言求最大素數問題哪裡錯了
3全部 include int main int i,n,k n 0 修改1 初始化n為0,否則外層迴圈無法進行scanf d k for n 0 k k 1 for i 2 iif k i 0 n 0 break 修改2 非素數,退出判斷 if i k 新增3 如果i 2 k 1都不能整除當前k,...
c語言,素數,要怎麼理解,通俗一點的
所謂素bai 數是指除了1和它本身以外,不能 du被任何zhi整數整除的數,例如17就是素數dao,因為它不能被內2 16的任一整數整容除.因此判斷一個整數m是否是素數,只需把m被2 m 1之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數 另外判斷方法還可以簡化.m不必唄2 m 1之間的每...
C語言求100到1000素數的程式
我剛好最近試了下你看看。void main if j 17 continue else printf 5d i printf 用c語言編1到100之間的素數程式 程式及解釋如下 首先判斷素數的演算法 用一個數分別去除以2到sqrt 這個數 如果能被整除,則表明此數不是素數,反之是素數。則有如下程式 ...