网易校招C++研发工程师笔试题

选择题:
  • mysql主从复制,server_id问题
  • mysql key_len
  • 找以.conf为结尾的文件
问答题:
  实现一个超大整数的类 并实现加减法功能
  用string实现大数加减法(博客里以前总结过,自己实现过乘法,加法没有做)——实现以下,再粘代码
 
 
编程题:
1.输入N个数,每次都只能转移2到其他的数,最少转移几次可以使得N个数都一样(即达到平均值)  
 例如:输入4个数  7 15 9 5,输出3
  注意cout以后要return 
 
#include
using namespace std;

int main(){
    int cows;
    int apples[100];
    cin>>cows;
    int index=0,sum=0;
       for(int index=0;index){
        cin>>apples[index];
        sum+=apples[index];
    }
    if(cows==0){
        cout<<0<<endl;
        return 0;
    }
    if(sum%cows!=0){
        cout<<-1<<endl;
        return 0;
    }

    int average=sum/cows;
    int less=0,more=0;

    for(int i=0;i){
        if(apples[i]<average){
            int d=average-apples[i];
            if(d%2!=0){
                cout<<-1<<endl;
                return 0;
            }
            else less+=d/2;
        }
        if(apples[i]>average){
            int d=apples[i]-average;
            if(d%2!=0){
                cout<<-1<<endl;
                return 0;
            }
            else more+=d/2;
        }
    }
    if(less==more)
        cout<endl;
    else cout<<-1<<endl;
    return 0;
}

2.0=

注意点:用long long 可以实现10^18

3.给一个M*N的数组,每个数组中的数代表此块田地的价值,横三刀竖三刀分成16分,求各种划分方案16分中最小总价值的最大值。

转载于:https://www.cnblogs.com/LUO77/p/5731820.html

你可能感兴趣的:(网易校招C++研发工程师笔试题)