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

129 阅读1分钟

1.从键盘输入一个整数,判断该数是否为素数

什么是素数

素数又叫质数,是指大于1的自然数中,除了1和它本身之外不再有其他因素的自然数

代码实现

#include <iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    int m = n/2;
    cout << "输入数字的一半是:" << m << endl;
    if(n==2||n==3)
        cout << n << "为素数";
    for(int i=2; i<=m; i++){
        if(n%i==0){
            cout << n << "不为素数";
            break;
        }else {
            cout << n << "为素数";
            break;
        }
    }
    return 0;
}

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

什么是完数

所有真因素的和等于本身的数字成为完数

代码实现

#include <iostream>
using namespace std;

int main(){
    for(int i=2; i<20001; 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;
}