7-6 素因子分解(20 分)
阿新 • • 發佈:2018-12-04
7-6 素因子分解(20 分)
給定某個正整數 N,求其素因子分解結果,即給出其因式分解表示式 N=p1k1⋅p2k2⋯pmkm。
輸入格式:
輸入long int範圍內的正整數 N。
輸出格式:
按給定格式輸出N的素因式分解表示式,即 N=p1^k1*p2^k2*…*pm^km
,其中pi
為素因子並要求由小到大輸出,指數ki
為pi
的個數;當ki
為1即因子pi
只有一個時不輸出ki
。
輸入樣例:
1323
輸出樣例:
1323=3^3*7^2
程式碼如下:
#include<bits/stdc++.h> using namespace std; const int N=0xfffff; int main() { long long int n,i; scanf("%lld",&n); if(n==1) { printf("1=1\n"); } else if(n>1) { cout<<n<<"="; for(i=2;i<=N;i++) { long long int x=0,t=0; while(n%i==0) { t=i; n=n/i; x++; } if(t) { cout<<t; if(x>1) { printf("^%d",x); } if(n>1) { cout<<"*"; } } } } return 0; }