1.从键盘输入一个整数,判断该数是否为素数
素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
#include<iostream>
using namespace std;
/*
从键盘输入一个数,判断是否为素数
*/
int main() {
int a = 0;
int b = 0;
cin >> a;
for (int i = 1; i < a; i++)
{
//判断从除1和a以外,还有无能让a整除的数,若有则b++
if ( a%i == 0) {
b++;
}
}
//若b>1,则表明除1以外有能让a整除的数,因为a不是素数
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 a = 0;//定义a来接收所有真因数的和
for (int j = 1; j < i; j++)
{
//若j为真因数 a = a+j
if (i % j == 0) {
a += j;
}
}
//判断a和i是否相等,若相等则输出一个完数
if (a == i)
{
cout << i << endl;
}
}
}