本關任務:計算因數分解的種數。
給出乙個正整數a,要求分解成若干個正整數的乘積,即a = a1 * a2 * a3 * … * an,並且1 < a1 <= a2 <= a3 <= … <= an。問這樣的分解的種數有多少?
注意:a = a也是一種分解。
右側編輯器中有乙個函式count,它有乙個引數a代表要進行分解的整數。
請在此函式中計算並輸出a進行因數分解的種數,佔一行。
輸入資料由評測系統讀取,並傳遞給count函式。具體見測試說明。
平台會對你編寫的**進行測試:
開始你的任務吧,祝你成功!
usr.h
#include
using
namespace std;
/********** begin **********/
intcount
(int a,
int start)
return c;
}void
count
(int a)
/********** end **********/
run.cpp
#include
#ifdef ans
#include
"usr-ans.h"
#else
#include
"usr.h"
#endif
intmain()
}
此習題難點在於主函式已經給定,無法更改,因此需要同學們靈活變通,像俄羅斯套娃一樣,一層套一層,直到實現自己的目標。 質因數分解
題目16 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完 成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新...
質因數分解
短除法 求乙個數分解質因數,要從最小的質數除起,一直除到結果為質數為止。分解質因數的算式的叫短除法 和除法的性質差不多,還可以用來求多個個數的公因式 求 最大公因數的一種方法,也可用來求 最小公倍數。求幾個數最大公因數 的方法,開始時用觀察比較的方法,即 先把每個數的因數找出來,然後再找出公因數,最...
質因數分解
講乙個數分解為幾個質數相乘的結果 int a maxn 用來存質因數 int b maxn 用來存質因數的個數 int main if n 1 不能忘記這一步操作 輸出 第1種寫法 a a a b b b b c c printf 第一種寫法 for int i 1 i tot i else pri...