#include <iostream>
using namespace std;
void fjzys(int n);
int main() { int n; cout << "输入一个数:"; cin >> n; cout << "质因数为:"; fjzys(n); }
void fjzys(int x) { //2,3,5,7 是质数 if(x == 2 || x == 3 || x == 5 || x ==7) cout << x << " "; else {
if(x % 2 == 0)
{
fjzys(x / 2);
cout << 2 << " ";
}
else if(x % 3 == 0)
{
fjzys(x / 3);
cout << 3 << " ";
}
else if(x % 5 == 0)
{
fjzys(x / 5);
cout << 5 << " ";
}
else if(x % 7 == 0)
{
fjzys(x / 7);
cout << 7 << " ";
}
else
//如果无法被 2,3,5,7 整除,则直接判断为质数
cout << x << " ";
}
}
业务学习编程,始终感觉程序写得有点重复,算法不理想。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.