[蓝蓝计算机考研算法训练二期]-day01

32 阅读1分钟

1、从键盘上输入一个整数,判断其是否为素数

#include <iostream>
using namespace std;

bool isPrime(int num) {
	int i;
	for (i = 2; i <= sqrt(num); i++) {
		if (num % i == 0)
			return false;
	}
	return true;
}

int main() {
	int a;
	cin >> a;
	cout << isPrime(a);
	return 0;
}

2、求解2到20000的所有完数

#include <iostream>
using namespace std;

bool ans(int num) {
	int i;
	int sum = 0;
	for (i = 1; i < num; i++) {
		if (num % i == 0)
			sum = sum + i;
	}
	if (sum == num)
		return true;
	else
		return false;
}

int main() {
	int i;
	for (i = 2; i < 20000; i++) {
		if (ans(i))
			cout << i << endl;
	}
	return 0;
}