zoukankan      html  css  js  c++  java
  • 网易校招C++研发工程师笔试题

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

    2.0=<h<=10^18    满足x+x^2<h  求x  x为整数  

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

    3.给一个M*N的数组,每个数组中的数代表此块田地的价值,横三刀竖三刀分成16分,求各种划分方案16分中最小总价值的最大值。
  • 相关阅读:
    将一个float型转化为内存存储格式的步骤
    判断是否是中文、英文字符串
    打开文件对话框
    线性表之四,受限的线性表,队列
    线性表之三,受限的线性表,栈
    数据结构
    List
    SamplesHashtable
    Exception
    maven指定本地仓库
  • 原文地址:https://www.cnblogs.com/LUO77/p/5731820.html
Copyright © 2011-2022 走看看