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

56 阅读1分钟
  1. 从键盘输入一个整数,判断其是否为素数 具体实现
#include <iostream>
using namespace std;
bool isPrime(int x){                      
    if(x<2){
        return false;
    }
    for(int i = 2;i < x;i++){
        if(x % i == 0){
            return false;
        }
        return true;
    }
}
int main(){
    int x;
    cin >> x;
    cout << isPrime(x);
    return 0;
}

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

#include <iostream>
using namespace std;
void wan_shu(int m){
    int result = 0;
    for(int i = 1; i<= m/2; i++){
        if(m%i == 0){
            result = result + i;
            if(result == m){
                printf("%d\n",result);
            }
        }
    }
}
int main(){
    for(int i = 2;i <= 20000; i++){
        wan_shu(i);
    }
    return 0;
}