iT邦幫忙

0

質因數分解問題

1.想了解是什麼原因,使程式無法分解質因數,只出現輸入的數字本身

2.程式碼

# include <stdio.h>
# include <stdlib.h>
int main(void)
{
	
	
	int n;
	scanf("%d", &n);
	
	int k = 2;//除數
	int i;//計數器
	int j;
	
	for(i = 2; i < n; i = i + 1) 
	{
		if((n / k) == 0)
		{
			j = n / k;
			n = j;
			printf("%d * ", k);
		
		}
		
		else
			k = k + 1;
		
		
		
	}
	
	printf(" %d ", n);


	system("pause");
	return 0;
	
	
}

3.執行畫面
https://ithelp.ithome.com.tw/upload/images/20200928/20128427VS8KGFCDvL.png

憤怒鳥 iT邦新手 5 級 ‧ 2020-09-28 20:54:19 檢舉
啊,我知道錯在哪了,"/"要改成"%"才對,因為要使餘數為0
好像沒有自行解決鍵。
柯柯 iT邦新手 3 級 ‧ 2020-09-29 16:58:28 檢舉
好像可以推一個自行解決的功能
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
ckp6250
iT邦好手 1 級 ‧ 2020-09-29 17:07:12
最佳解答

我們以前,也玩過這個,題目是在任一區間,列出所有的質數,程式碼越精簡、執行速度越快的勝出。
比如隨便問,在 25000 ~ 1800000 之間,有那些質數?
輸入起訖兩個參數,然後列出所有質數。

這題看起來沒什麼,學問卻很大,當被也引起網友提出五花八門的解法,一個比一個快。

我要發表回答

立即登入回答