Loading

数学类算法

给了10个数(浮点型),求这10个数的均值

点击查看代码
#include<iostream>
using namespace std;
void calave(float arr[10],float &ave){
    float sum=0;
   float n=0;
    for(int i=0;i<10;i++){
        cout<<"input NO."<<i+1<<"num:";
        cin>>n;
        sum+=n;
    }
  
    ave=sum/10;
    
}
int main(){
    float arr[10]={0};
    float ave;
    calave(arr,ave);
    cout<<"ave="<<ave<<endl;
    system("pause");
    return 0;
}

求数A ,它既能被B整除,也能被C整除,求A的最大值。(最大公约数)

点击查看代码
gcd()函数法
欧几里得算法,即辗转相除法
class Solution {
public:
    int findGCD(vector<int>& nums) {
        int max=*max_element(nums.begin(),nums.end());
        int min=*min_element(nums.begin(),nums.end());
        return gcd(max,min);
    }
};

欧几里得算法,即辗转相除法内部
class Solution {
public:
    int findGCD(vector<int>& nums) {
        int a=*max_element(nums.begin(),nums.end());
        int b=*min_element(nums.begin(),nums.end());
    while(a%b!=0){
        int temp;
        temp=b;
        b=a%b;
        a=temp;   
    }
        return b;
    }
};

计算闰年:

点击查看代码
//世纪闰年(400的倍数),和普通闰年(4的倍数但不是100的倍数)
#include<iostream>
using namespace std;
int main() {
    int year;
    cin >> year;
    while (true)
    {
        if(year > 0 && year < 9999)break;
    }
    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){cout << "是闰年" << endl;}
    else
    {
        cout<<"不是闰年";
    }
    system("pause");
    return 0;
}
posted @ 2022-03-03 21:59  _JunJun  阅读(139)  评论(0)    收藏  举报