C語(yǔ)言實(shí)現(xiàn)素因子分解
題目說(shuō)明:
給定某個(gè)正整數(shù)N,求其素因子分解結(jié)果,即給出其因式分解表達(dá)式 N = p1^k1 * p2^k2 *…*pm ^km。
輸入格式說(shuō)明:
輸入long int范圍內(nèi)的正整數(shù)N。
輸出格式說(shuō)明:
按給定格式輸出N的素因式分解表達(dá)式,即 N = p1^k1 * p2^k2 *…*pm ^km,其中pi為素因子并要求由小到大輸出,指數(shù)ki為pi的個(gè)數(shù);當(dāng)ki==1即因子pi只有一個(gè)時(shí)不輸出ki。
樣例輸入與輸出:
解答說(shuō)明:
從小到大依次尋找素因子,并對(duì)每一個(gè)素因子的個(gè)數(shù)做統(tǒng)計(jì)。
源碼:
#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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Qt實(shí)現(xiàn)帶字?jǐn)?shù)限制的文字輸入框
這篇文章介紹了Qt實(shí)現(xiàn)帶字?jǐn)?shù)限制文字輸入框的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04C++ inline內(nèi)聯(lián)函數(shù)詳解
這篇文章主要介紹了C++ inline內(nèi)聯(lián)函數(shù)詳解,有感興趣的同學(xué)可以借鑒參考下2021-02-02使用C++的string實(shí)現(xiàn)高精度加法運(yùn)算的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇使用C++的string實(shí)現(xiàn)高精度加法運(yùn)算的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09C++中事件機(jī)制的簡(jiǎn)潔實(shí)現(xiàn)及需要放棄的特性
事件模型是被廣泛使用的好東西,但是C++標(biāo)準(zhǔn)庫(kù)里沒(méi)有現(xiàn)成的,現(xiàn)在VC11可以用在XP下了,那么就痛快的拿起C++11提供的先進(jìn)設(shè)施組合出一個(gè)輕便的實(shí)現(xiàn)吧感興趣的朋友可以了解下,或許對(duì)你有所幫助2013-02-02C++ OpenCV實(shí)現(xiàn)白平衡之灰度世界算法
灰度世界算法是白平衡各種算法中最基本的一種。本文將利用C++和OpenCV實(shí)現(xiàn)白平衡中的灰度世界算法,文中示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05C++連接mysql數(shù)據(jù)庫(kù)(改進(jìn)版)
C++是大家都非常熟悉的,也是大家平時(shí)辦公中經(jīng)常會(huì)用到的,下面這篇文章主要給大家介紹了關(guān)于C++連接mysql數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12