譚浩強C++課後習題10——判斷素數,求a!+b!+c!
題目一:編寫一個判斷素數的函數,在主函數中輸入一個整數,輸出是否爲素數的信息。
算法思路:循環從2到sqrt(num)(根號num),如果碰到數字可以被num整除則不是素數。
#include<iostream>
using namespace std;
bool isPrime(int num) {
for (int i = 2;i <= sqrt(num);i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int num;
cout << "輸入數字:";
cin >> num;
if (isPrime(num))
cout << "是素數" << endl;
else
cout << "不是素數" << endl;
return 0;
}
運行結果:
題目二:求a!+b!+c!的值,用一個函數fac(n)求n!。a,b,c的值由主函數輸入,最終得到的值在主函數中輸出。
#include<iostream>
using namespace std;
int fac(int n) {
int result = 1;
for (int i = 1;i <= n;i++)
result *= i;
return result;
}
int main() {
int a, b, c;
cout << "輸入a,b,c:";
cin >> a >> b >> c;
int sum = fac(a) + fac(b) + fac(c);
cout << a << "!+" << b << "!+" << c << "!=" << sum << endl;
return 0;
}
運行結果: