『壹』 求2~100中每個數的質因子,輸出如下形式(Free Pascal,只用循環結構之前的知識。)
在求2到100中每個數的質因子時,我們可以採用以下編程方法:
首先,定義變數n、i、j和k,其中n表示當前處理的數,i表示可能的質因子,j用於計數,k表示當前處理的數與質因子的商。
從2開始遍歷到100,對每個數n進行質因子分解。
對於當前數n,從最小的質數2開始嘗試分解。使用變數i表示當前嘗試的質數,變數k表示n與當前質數的商。
使用循環結構,只要k模i不等於0,即i不是n的質因子,則i自增1繼續嘗試。
當找到一個質因子i時,輸出n等於i,然後將n更新為k,即將n除以當前找到的質因子。
再次進入循環,對更新後的n進行分解,直到k大於等於i,即n無法被當前質數進一步整除。
在這個過程中,一旦發現k能被i整除,表示i是n的一個質因子,輸出星號「*」與i,然後將k更新為n與i的商,繼續嘗試分解。
一旦k不再能被i整除,i自增1繼續嘗試分解。重復此過程,直到所有質因子都被找到。
對於每個n,重復上述過程,直至遍歷完整個范圍,輸出結果。
具體代碼如下,注意根據使用的編程環境調整語法細節:
『貳』 c語言編程,如何求一個整數n的倍數
假如整數n除以m,結果是無余數的整數,那麼我們稱m就是n的因子。 需要注意的是,唯有被除數,除數,商皆為整數,余數為零時,此關系才成立。反過來說,我們稱n為m的倍數 。
如果利用C語言求一個整數n的因子,可以從1開始到n,依次加1,如果它是n的的因子,則輸出。
具體的源碼實現如下:
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
intn;
while(scanf("%d",&n)!=EOF)
{
if(n<1)break;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf(" ");
}
return0;
}
編譯運行後的結果: