/************************************************************************/ /* 题目:将数字65535分解成若干个素数之积 /************************************************************************/ #include <iostream> #include <cmath> using namespace std; bool isPrime(long m); int main() { long i; long digit = 65535; long s = 1; cout << "65535 = "; for (i = 2; i <= digit / 2; i++) { if (isPrime(i) && digit % i == 0) { s *= i; if (digit / s != 1) cout << i << " * "; else cout << i << endl; } } system("pause"); return 0; } //功能:判断素数 bool isPrime(long m) { int i = 0; for (i = 2; i <= sqrt(m); i++) { if (m % i == 0) return false; } return true; }