几个简单小问题的解决思路,帮助初学者快速入门(C++版)

下面介绍几个PAT中常用的几个小套路,帮助无基础的快速入门:

求最大值,最小值,平均值

        将一个变量初始化为一个很小的数,然后与给定的数字一个一个的比较。如果遇到一个比它大的数,就把它的值换成那个更大的数,否则继续比较。

        最小值同理

        平均值则是在每次循环的末尾累加数值,最后再除于个数。

#include "iostream"
using namespace std;
int main(){
    int n, a, minnumber, maxnumber, total;
    cout << "请输入你要输入的个数" << endl;
    cin >> n;
    cin >> a;
    total = minnumber = maxnumber = a;
    for(int i=1; i<n;i++){
        cin >> a;
        if(minnumber>a){
            minnumber = a;
        }
        if(maxnumber<a){
            maxnumber = a;
        }
        total = total + a;
    }
    cout << "最大值是" << maxnumber << endl;
    cout << "最小值是" << minnumber << endl;
    cout << "平均值是" << total / n;
}

求两个给定整数的最大公约数

        最大公约数是指多个整数共有的约数中的最大值。可以用欧几里得提出的辗转相除法求得,即假设给定的两个整数是n和m,先求n除以m的余数r1,然后求m除以r1的余数,然后再求r1除以r2的余数r3。以此类推,直到某个作为分母的余数为零。这时分子就是n和m的最大公约数。

#include "iostream"
using namespace std;
int main(){
    int r, n, m;
    n = 10;
    m = 20;
    while(m > 0){
        r = n % m;
        n = m;
        m = r;
    }
    cout << n;

判断一个给定的正整数n是不是整数

        素数的判定方法。可以用每个比N小的数试探。如果N能整除这个数,那N就不是素数。如果所有比N小的整数都不能被N整除,则N就是素数。

        优化:因为每个盒子都一定含有小于或等于其平方根的质因子,所以只要试探到N的平方根即可。       

#include "iostream"
#include "cmath"
using namespace std;

int main(){
    int n;
    cin >> n;
    for(int i=2; i<=sqrt(n); i++){
        if(n%i == 0){
            cout << n << " 不是素数" << endl;
            return 1;
        }
    }
    cout << n << " 是素数" << endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值