. 编写一个函数将 n( n 为大于 1 的正整数)表示成所有质因子(素数因子)的次方相乘的形式输出

次方用英文括号( )表示。要求质因子的输出顺序为从小到大。主函数中用户输入 n ,调用 fun 函数进行输出。

2(3)3(2) //72是3个2与2个3相乘的结果
样例输入:
181944
样例输出:
2(3)3(2)7(1)19(2) //181944等于3个2、2个3、1个7、2个19 相乘
最好用c++语言

如果从2开始,就不会出现3,只会是 x*2+y*1追问

什么意思

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-27

#include<stdio.h>

#include<math.h>

int main()

{long int b,i,j,k,m,n,w=0;

scanf("%ld",&n);

k=2;j=0;

while(k<=sqrt(i))

{if(n%k==0)

{n/=k;j++;

continue;

}

if(j>0)printf("%ld(%ld)",k,j);

k++;j=0;

}

printf("\n");

}

本回答被提问者和网友采纳
相似回答