Day1
题目描述
1.从键盘输入一个整数,判断该数是否为素数
素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
思路:
将输入的数字a与1~a-1的数字取余,若只有a%1==0,则a是素数
具体实现
/*
1.从键盘输入一个整数,判断该数是否为素数
素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
*/
#include<iostream>
using namespace std;
int main(){
int a;
int b = 0;
cin >> a;
for (int i = 1; i < a; i++) {
if (a % i == 0) {
b++;
}
}
if (b > 1) {
cout << a << "不是素数" << endl;
}
else {
cout << a << "是素数" << endl;
}
return 0;
}
题目描述
2.求解从2到20000的所有完数.所有的真因数的和等于本身的数字称为完数
真因数是指一个自然数除自身以外的因数。如6的因数有1、2、3、6,真因数是1、2、3。
思路
具体实现
/*
2.求解从2到20000的所有完数.所有的真因数的和等于本身的数字称为完数
真因数是指一个自然数除自身以外的因数。如6的因数有1、2、3、6,真因数是1、2、3。
*/
#include<iostream>
using namespace std;
int main(){
for (int i = 2; i <= 20000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
cout << i << "为完数" << endl;
}
}
return 0;
}