谭浩强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;
}
运行结果: