因子分解
2017-11-23 11:04
246 查看
描述
输入一个数,输出其素因子分解表达式。
输入
输入一个整数 n (2 <= n < 100)。
输出
输出该整数的因子分解表达式。
表达式中各个素数从小到大排列。
如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。
样例输入
60
样例输出
2^2*3*5
输入一个数,输出其素因子分解表达式。
输入
输入一个整数 n (2 <= n < 100)。
输出
输出该整数的因子分解表达式。
表达式中各个素数从小到大排列。
如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。
样例输入
60
样例输出
2^2*3*5
#include<stdio.h> int prime(int n) { for(int i=2;i<n;i++) { if(n%i==0) return 0; } return 1; } int main() { int i,n,ori,last,ans[101]={0}; scanf("%d",&n); ori=n; for(i=2;i<=ori;i++) { while(prime(i)==1&&n%i==0) { ans[i]++; n=n/i; } if(n==1) { last=i; break; } } for(i=2;i<last;i++) { if(ans[i]==1) { printf("%d*",i); } if(ans[i]>1) { printf("%d^%d*",i,ans[i]); } } if(ans[last]=1) { printf("%d",last); } if(ans[last]>1) { printf("%d^%d",last,ans[last]); } return 0; }
相关文章推荐
- HDU 4344-Mark the Rope-大数素因子分解
- //设计算法,将某个大于1的自然数n分解为其素因子的乘积,如6=2*3,7=7,8=2*2*2。
- 用栈来实现分解一个数成素因子乘积的形式。
- HUSTOJ 1033: 质因子分解
- NYOJ-476谁是英雄,分解质因子求约数个数!
- Problem 21 Amicable numbers (分解因子和)
- N!分解素因子及若干问题
- Pollard的rho启发式因子分解算法 & [CodeVS 4939] 欧拉函数:Miller-Rabin + Pollard-rho 质因数分解
- 算法导论-----数论-----素数测试和pollard整数因子分解
- 隐式因子分解-隐语义模型
- N!分解素因子及若干问题
- 757B. Bash's Big Day(分解因子)
- HDU 1333 分解素数因子
- POJ 1730 Perfect Pth Powers (分解素因子)
- n!的素因子分解
- uva 10061 How many zero's and how many digits ?(在bas进制下分解因子)
- Pollard_rho算法模板(大整数的因子分解)
- 0048算法笔记——【随机化算法】拉斯维加斯随机化算法求解整数因子分解中的因子分割问题
- 2017 Multi-University Training Contest - Team 4 :Counting Divisors(数论:素数筛选+分解质因子+求因子数)
- (转)POJ3101 Astronomy【素因子分解】【大数乘法】