給定某個正整數n,求其素因子分解結果,即給出其因式分解表示式 n = p1^k1 * p2^k2 *…*pm ^km。
輸入格式說明:
輸入long int範圍內的正整數n。
輸出格式說明:
按給定格式輸出n的素因式分解表示式,即 n = p1^k1 * p2^k2 *…*pm ^km,其中pi為素因子並要求由小到大輸出,指數ki為pi的個數;當ki==1即因子pi只有乙個時不輸出ki。
樣例輸入與輸出:
序號輸入輸出
1
1024
1024=2^10
2
1323
1323=3^3*7^2
3
97532468
97532468=2^2*11*17*101*1291
4
1
1=1
5
3
3=3
#include int isprime(long n);
int main(int argc, char *argv)
else
while(isprime(n)==0)else if(data[0][0]!=0&&i==data[j][0])else if(i!=data[j][0])
/// printf("-->%d %d\n",i,n);
if(isprime(n))else
}break;
} }
} printf("%d=",m);
for(i=0;i<=j;i++)
if(i==0&&data[0][1]==1)
else if(i!=0&&data[i][1]>1)else if(i!=0&&data[i][1]==1)
//printf("+++++=%d---->>>%d\n",data[i][0],data[i][1]);
} }return 0;
}int isprime(long n)
} return flag;
}
2 7 素因子分解 20 分
給定某個正整數 n,求其素因子分解結果,即給出其因式分解表示式 輸入格式 輸入long int範圍內的正整數 n。輸出格式 按給定格式輸出n的素因式分解表示式,即 輸入樣例 1323輸出樣例 1323 3 3 7 2我的 include using namespace std long int n ...
分解素因子
time limit 1500ms memory limit 10000k 有疑問?點這裡 假設x是乙個正整數,它的值不超過65535 即1 x 65535 請編寫乙個程式,將x分解為若干個素數的乘積。輸入的第一行含乙個正整數k 1 k 10 表示測試例的個數,後面緊接著k行,每行對應乙個測試例,包...
素因子分解
每乙個大於1的正整數都可被唯一的寫成素數的乘積。證明過程有點複雜,但是道理還是很容易講通的,因為每個大於1的數都有乙個素因子,因此我們先用最小的素數2分解 如果因數有2的話 直到不能分解時,選用下乙個素數繼續分解。以780為例,此時得到780 2 360,對360還可以進行3次公因數2的提取,得到4...