唯一分解定理

来源:互联网 发布:淘宝数据分析看不懂 编辑:程序博客网 时间:2024/05/01 13:40

算术基本定理:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1P2a2P3a3......Pnan,这里P1<P2<P3......<Pn均为质数,其中指数ai是正整数。

一个数能被唯一地分解成质因数的乘积。因此这个定理又叫做唯一分解定理。

 

#include <cstdio>int main(){unsigned int n;int flag = 0;scanf("%d", &n);int pri[32] = { 0 };int num[32] = { 0 };int local = 0;int tmp = 2;while (tmp*tmp <= n) //找出所有的因子 { while (n % tmp == 0) { pri[local] = tmp; num[local]++; n /= tmp; flag = 1; } if (flag) { local++; flag = 0; } tmp++; } int k = 0; while (pri[k]) { if (pri[k + 1] != 0) { if (num[k]>1)printf("%d^%d*", pri[k], num[k]);elseprintf("%d*", pri[k]);}else{if (num[k]>1)printf("%d^%d*", pri[k], num[k]);elseprintf("%d", pri[k]);}k++;}if (n != 1)printf("*%d\n", n);return 0;}
0 0
原创粉丝点击