一本通1620質因數分解

2022-05-08 01:57:07 字數 911 閱讀 8798

時間限制: 1000 ms         記憶體限制: 524288 kb

原題來自:noip 2012 普及組

已知正整數 n

'>n 是兩個不同的質數的乘積,試求出較大的那個質數。

輸入只有一行,包含乙個正整數 n

'>

n。輸出只有一行,包含乙個正整數 p

'>p

,即較大的那個質數。

21

7
對於 30% 的資料,n

≤1000

'>n≤1000

;對於全部資料,6≤n

≤2×10

9'>

6≤n≤2×109 。6≤

n≤2×

109'>sol:sqr(n)暴力列舉小的那個質因數。。。

#include using

namespace

std;

typedef

intll;

inline ll read()

while

(isdigit(ch))

return (f)?(-s):(s);

}#define r(x) x=read()inline

void

write(ll x)

if(x<10

)

write(x/10

); putchar((x%10)+'0'

);

return;}

#define w(x) write(x),putchar(' ')

#define wl(x) write(x),putchar('\n')

intn,m;

intmain()

}return0;

}

view code

質因數分解

題目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...