当前位置: 首页 > 后端技术 > Python

求职-华为研发工程师编程题个人解答【C++】【Python】

时间:2023-03-26 00:54:23 Python

华为研发工程师编程题【C++】【Python】【数学】【数组】【字符串】第1题有这么一道智力题:“AstoreRule:Three空汽水瓶可以换一瓶汽水,小张手里有十个空汽水瓶,最多可以换几瓶汽水?答案是5瓶,方法如下:先用9个空汽水瓶换3瓶汽水,喝满3瓶,喝完4个空瓶后,用3换另一瓶,喝满瓶,则有还剩2个空瓶,那你让老板先借你一瓶汽水,喝完一瓶,然后用3个空瓶换一瓶还给老板。如果小张有n个空汽水瓶hishand,howmanybottlesofsodahecandrink?输入说明:输入文件最多包含10组测试数据,每组数据占一行,且只包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶的个数。n=0表示输入结束,你的程序不应该处理这一行。输出说明:对于每组测试数据,输出一行表示汽水的最大数量可以喝的瓶子。如果不能喝瓶子,输出0。示例1输入:10输出:5种方式的思路先把所有的瓶子除以3,然后除以余数+商,继续除以3,直到商<3。如果商为2,说明可以向老板借一个瓶子,这样一瓶换三瓶满意的话可以还给老板。如果商为1,则表示您不满意。方法2经过数学分析,最终得到的饮料数量为空瓶总数除以2。代码C++版本#includeusingnamespacestd;intmain(){intn;while(scanf("%d",&n)!=EOF){如果(n==0){返回0;}if(n==1){printf("1\n");}elseif(n==2){printf("3\n");}else{intcnt=0;while(n/3!=0){inttemp=n/3;cnt+=n/3;n%=3;n+=温度;}if(n==2){cnt+=1;printf("%d\n",cnt);}else{printf("%d\n",cnt);}}}return0;}Pythondefdrink():whileTrue:try:num=int(input())ifnum!=0:print(num//2)#可被2整除except:breakif__name__=="__main__":drink()问题2很明显是想请一些同学来学校做问卷调查。为了实验的客观性,他先用计算机生成N个1到1000之间(N≤1000)的随机整数。对于重复的数字,只保留一个,其余相同的数字去掉。不同的数字对应不同的学号。然后把这些数字从小到大排序,按照排列的先后顺序去找同学调查。请帮助明明完成“去重”和“排序”的工作(同一个测试用例中可能存在多组数据,希望大家能够正确处理)。InputParamn输入随机数个数inputArray由n个随机整数组成的数组ReturnValueOutputArray输出处理后的随机整数注:测试用例保证输入参数的正确性,答题者无需验证。有不止一组测试用例。样本输入说明:样本有两组测试。第一组为3个数,即:2、2、1。第二组为11个数,即:10、20、40、32、67、40、20、89、300、400、15。输入说明:输入多行,先输入随机整数的个数,再输入相应的整数个数输出说明:返回多行,处理后的结果示例1输入:3221输出:122ideas每次输入一个新的值,就可以输入flags,比如flag[num]设置为true,输入后只是遍历数组,flag值为true输出。因为数据比较小,不用担心超时。代码C++版本#include#includeusingnamespacestd;intmain(){intn;整数;while(scanf("%d",&n)!=EOF){boolflag[1100]={false};//更新每个循环for(inti=0;i#include#include#includeusingnamespacestd;intmain(){/*//方法一intnum;while((cin>>hex>>num)){cout<>s)){intlen=s.length();整数=0;for(inti=len-1;i>=0;--i){if(s[i]>='0'&&s[i]<='9'){//数字字符转换num+=(s[i]-48)*pow(16,len-i-1);}elseif(s[i]>='A'&&s[i]<='F'){//Alpha字符转换num+=(s[i]-55)*pow(16,len-i-1);}}printf("%d\n",数);}return0;}Python版本importsysdefsixteen():whileTrue:try:string_hex=sys.stdin.readline()print(int(string_hex,16))except:breakif__name__=="__main__":sixteen()