[C/C++] 算法提高 质因数
2017-11-15 23:23
190 查看
将一个正整数N(1 < N < 32768)分解质因数。
例如,输入90,打印出 90=2*3*3*5。
样例输入
66
样例输出
66=2*3*11
例如,输入90,打印出 90=2*3*3*5。
样例输入
66
样例输出
66=2*3*11
#include <iostream> using namespace std; int main () { int a; int sum = 1; int i = 1; // 设置一个标志,判断是不是第一个数字。是的话不用输出*号。 int flag = 1; cin >> a; cout << a << "="; int b = a; // 用来存放原数字 while (sum != b) { i++; if (a % i == 0) { if (flag) { cout << i; flag = 0; } else cout << "*" << i; a = a / i; sum *= i; i--; //下一个可质因素能跟前一个重复,比如45=3*3*5,第二个等于第一个,先减一再加一,还是上一个i。 } } return 0; }
相关文章推荐
- 蓝桥杯-算法提高 8皇后·c++实现
- 算法-蓝桥杯-算法提高 矩阵相乘 (C++)
- ADV-69算法提高-质因数
- 算法提高 c++_ch02_04
- 蓝桥杯 ADV-112 算法提高 c++_ch02_01
- 蓝桥测试题: 算法提高 质因数
- 算法提高 质因数
- 蓝桥杯 ADV-181 算法提高 质因数2
- 算法提高 质因数2
- 蓝桥杯-算法提高 P1003·c++实现
- 算法提高 ADV-112 c++_ch02_01
- 算法提高 c++_ch02_01
- 算法提高 ADV-113 c++_ch02_0
- 蓝桥杯 ADV-112 算法提高 c++_ch02_01
- 算法提高 c++_ch02_02
- 算法提高 ADV-114 c++_ch02_03
- 算法提高 c++_ch02_01
- 蓝桥杯 ADV-69 算法提高 质因数
- 4000 算法提高 ADV-115 c++_ch03_02
- 蓝桥杯-算法提高-c++_ch04_02_修正版