[蓝蓝计算机考研算法训练二期]-day01 判断素数和计算完数
1、从键盘输入一个整数,判断该数是否为素数
什么是素数
素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
代码实现
bool PrimeNumber(int num) {
if (int num = 2)
return true;
for (int i = 2; i < num; i++) {
if ( num % i == 0) {
return false;
}
}
return true;
}
2、求解从2到20000的所有完数。
什么是完数
所有的真因数的和等于本身的数字称为完数。
代码实现
bool PerfectNumber(int num) {
int sum = 0;
for (int i = 0; i < num; i++) {
if (num % i == 0)
sum += i;
}
if(sum == num) {
return true;
}
else {
return false;
}
}
int main() {
for( int i = 20; i < 20000; i++ ) {
if(PerfectNumber(i) == true)
cout << i << endl;
}
}