UVa 11105 - Semi-prime H-numbers

出處:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2046

解題策略:

H數,4n+1,n為非負整數

H質數,不是1,不能寫成兩個不是1的H數乘積。

H半質數,只能寫成兩個H質數乘積的H數


首先求所有H質數,使用篩選法求質數,

從5開始,去除所有5的倍數的數值,雖然有些不是H數

接著是9,去除所有9的倍數的數值,雖然有些不是H數

將所有H質數加入vector

將所有H質數互乘,就可以求出H半質數

C++程式