1、首先打開(kāi)vc0, 新建一個(gè)vc項(xiàng)目,添加頭文件。添加main主函數(shù),如下圖所示。然后定義 n, i 兩個(gè)變量,如下圖所示。接著使用scanf給n賦值,使用for循環(huán)。然后用while作為內(nèi)層循環(huán),使用printf打印i。
創(chuàng)新互聯(lián)2013年至今,先為臨漳等服務(wù)建站,臨漳等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為臨漳企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
2、將一個(gè)正整數(shù)分解質(zhì)因數(shù)。程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:如果這個(gè)質(zhì)數(shù)恰等于n,則說(shuō)明分解質(zhì)因數(shù)的過(guò)程已經(jīng)結(jié)束,打印出即可。
3、int main(){ int n,i;scanf(%d,&n);for(i=2;i=n;i++){//將2000換成n,也就是被除數(shù),除數(shù)比被除數(shù)大,除來(lái)也就沒(méi)有意義了 if(n%i==0){ printf(%-2d,i);n=n/i;i=1;//將2改為1后。
4、不是分解質(zhì)因數(shù),對(duì)嗎?分解質(zhì)因數(shù)簡(jiǎn)單,分解因數(shù)要難些,利用回溯可以做,以下是我寫(xiě)的代碼,看一看是否是你想要的。
5、void age(int &i,int &n);void main(){ int n=10,i=5;n=10;age(i,n);printf(%d\n,n);} void age(int &i,int &n){ i--;if(i0){ n+=2;age(i,n);} } 你看看,看懂了就會(huì)做了。
6、程序及解釋如下:首先 判斷素?cái)?shù) 的算法:用一個(gè)數(shù)分別去除以2到sqrt(這個(gè)數(shù)),如果能被 整除 ,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
由 n = p * q 如果說(shuō) p sqrt(n) 。那么 q sqrt(n)所以不用求到p。只要到sqrt(n)就可以了。
先解釋一下篩選法的步驟:1 先將1挖掉(因?yàn)?不是素?cái)?shù))。2 用2去除它后面的各個(gè)數(shù),把能被2整除的數(shù)挖掉,即把2的倍數(shù)挖掉。3 用3去除它后面的各數(shù),把3的倍數(shù)挖掉。
可以使用篩法來(lái)判斷 1-100 之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。篩法是一種通過(guò)枚舉合數(shù)的因子來(lái)篩選出素?cái)?shù)的方法。
/*Prime函數(shù)用來(lái)判斷參數(shù)m是否是素?cái)?shù),用的方法是用m被2~√m之間的整數(shù)除,看能不能整除。能整除,說(shuō)明是合數(shù),返回0,否則是素?cái)?shù),返回1。主調(diào)函數(shù)調(diào)用它,對(duì)輸入的整數(shù)n值進(jìn)行判斷,看是否素?cái)?shù)。
判斷素?cái)?shù),若是就返回1,否則就返回0,先看能不能被2整出,若整除肯定不是素?cái)?shù),如不整除就看它能不能被3,5,7,9。。一直到sprt(x),整除。
可以的。改成 for(j=2;j=i/2;i++){ if(i%j==0) { xx[n]=i; n++; break; }}效果是一樣的。當(dāng)然 下面的if(j=i/2)這個(gè)就要?jiǎng)h掉了。
程序基本正確的,只是忽略了1不是素?cái)?shù),按素?cái)?shù)考慮了。只需要在if ( i%j==0 ) { b=0; break; }的后面添加語(yǔ)句if(i==1) b=0;就可以了。
通過(guò)結(jié)果我們可以看出,預(yù)期的結(jié)果與我們對(duì)于素?cái)?shù)的認(rèn)知是相同的,說(shuō)明我們的程序編寫(xiě)沒(méi)有錯(cuò)誤。
思路1:判斷一個(gè)整數(shù)m是否是素?cái)?shù),只需把m被 2 ~ m-1 之間的每一個(gè)整數(shù)去除,如果都不能被整除,那么m就是一個(gè)素?cái)?shù)。