[蓝蓝计算机考研算法训练二期]-day01 判断素数和计算完数

65 阅读1分钟

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; } }