您好,登錄后才能下訂單哦!
題目說明:
給定某個正整數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。
樣例輸入與輸出:
解答說明:
從小到大依次尋找素因子,并對每一個素因子的個數做統計。
源碼:
#include<stdio.h> #include<math.h> int main(void) { int i,j; long int m, n; int count; int isPrime,flag; isPrime = 1; flag = 0; scanf("%ld",&n); printf("%ld=",n); m = sqrt(n); for(i = 2; i <= m;i++){ if(n%i == 0){ //printf("%d",i); isPrime = 0; count = 1; n = n / i; while(n%i == 0){ n = n / i; count++; } if(flag) printf("*"); else flag = 1; if(count == 1) printf("%d",i); else printf("%d^%d",i,count); } } if(isPrime) printf("%d",n); return 0; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。