huawei 三套题

news/2024/7/8 7:56:58

链接:https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 

输入描述:

输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。

输出描述:

对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。

示例1

输入

3
10
81
0

输出

1
5
40


自己写的
 1 #include <iostream>
 2 using namespace  std;
 3  
 4 int main()
 5 {
 6     int m=10, n;
 7         while (m--&&cin >> n&&n >= 1 && n <= 100)
 8         {
 9                 int Y = 0;
10                 int sum = 0;
11                 while (n >= 3)
12                 {
13                     sum += n / 3;
14                     n = n / 3 + n % 3;
15                 }
16                 if (n == 2)
17                 {
18                     sum += 1;
19                 }
20                 if (n == 1);
21                 cout << sum << endl;
22                 sum = 0;
23         }
24     return 0;
25 }

 

 

 

 1 链接:https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f
 2 来源:牛客网
 3 
 4 /*
 5 递归问题
 6 3个瓶子换1瓶水+1个空瓶子,两个瓶子换1瓶水+0个空瓶子,1个瓶子换0瓶水。
 7 f(1) = 0
 8 f(2) = 1
 9 f(3) = 1
10 f(4) = f(2)+1    //4个瓶子,其中3个可以换1瓶水+1个空瓶,所以是f(2)+1
11 f(5) = f(3)+1    //3个瓶子换1瓶水+1个空瓶,所以是f(3)+1
12 ...
13 f(n) = f(n-2)+1 */
14 #include <iostream>
15   
16 using namespace std;
17   
18 int f(int n)
19 {
20     if(n==1) return 0;
21     if(n==2) return 1;
22     return f(n-2)+1;
23 }
24   
25 int main()
26 {
27     int n;
28     while(cin >> n){
29         if(n==0)
30             break;
31         cout<<f(n)<<endl;
32     }
33     return 0;
34 }

 

 

链接:https://www.nowcoder.com/questionTerminal/3245215fffb84b7b81285493eae92ff0
来源:牛客网

[编程题]明明的随机数
  • 热度指数:204271 时间限制:1秒 空间限制:32768K
  • 算法知识视频讲解

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

 

 

Input Param 

     n               输入随机数的个数     

 inputArray      n个随机整数组成的数组 

     

Return Value

     OutputArray    输出处理后的随机整数

 


注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。


 

 


输入描述:

输入多行,先输入随机整数的个数,再输入相应个数的整数



输出描述:

返回多行,处理后的结果

示例1

输入

11
10
20
40
32
67
40
20
89
300
400
15

输出

10
15
20
32
40
67
89
300
400


 

 


 

 

 



注意输入输出

 1 链接:https://www.nowcoder.com/questionTerminal/3245215fffb84b7b81285493eae92ff0
 2 来源:牛客网
 3 
 4 #include <iostream>
 5 using namespace std;
 6 int main() {
 7     int N, n;
 8     while (cin >> N) {
 9         int a[1001] = { 0 };
10         while (N--) {
11             cin >> n;
12             a[n] = 1;
13         }
14         for (int i = 0; i < 1001; i++)
15             if (a[i])
16                 cout << i << endl;
17     }
18     return 0;
19 }//阿西吧

 

 

 

 

 

 

链接:https://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6
来源:牛客网

[编程题]进制转换
  • 热度指数:101092 时间限制:1秒 空间限制:32768K
  • 算法知识视频讲解

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )


输入描述:

输入一个十六进制的数值字符串。



输出描述:

输出该数值的十进制字符串。

示例1

输入

0xA

输出

10




 1 只是将字符串转换成十进制的数,程序就能通过,看来题目的目的只是将十六进制转换成十进制
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<math.h>
 5 int main()
 6 {
 7     char str[100];
 8     int i=0,count,sum;
 9     while(gets(str))//用于多次输入
10     {
11         count=strlen(str);//计算字符串的长度
12         sum=0;
13         for(i=count-1;i>=0;i--)//从十六进制个位开始,每位都转换成十进制
14         {
15         if(str[i]>='0'&&str[i]<='9')//数字字符的转换
16         {
17             sum+=(str[i]-48)*pow(16,count-i-1);
18         }
19         else if(str[i]>='A'&&str[i]<='F')//字母字符的转换
20         {
21             sum+=(str[i]-55)*pow(16,count-i-1);
22         }
23         }
24         printf("%d\n",sum);
25     }
26     return 0;
27  }
 1 链接:https://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6
 2 来源:牛客网
 3 
 4 #include <iostream> 
 5  using namespace std;
 6 
 7  int main()
 8  {
 9      int a;
10      while(cin>>hex>>a){
11      cout<<a<<endl;
12      }

 

 

转载于:https://www.cnblogs.com/D-DZDD/p/7352787.html


http://www.niftyadmin.cn/n/3122537.html

相关文章

让两个数x,y一直保持互质的模版

1 int gcd(int x,int y) 2 { 3 if(y0)return x; 4 else return gcd(y,x%y); 5 } 转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6390160.html

oracle 建立表序列

1.Table(tableName "orderlogs", seqName "orderlogs_seq") //表关联 2.CREATE SEQUENCE orderlogs_seq //建序列 3.select orderlogs_seq.nextval from dual; //查序列大小 4.ALTER SEQUENCE orderlogs_seq INCREMENT BY 48000; //增加序列大小转载于…

Linux下利用signal函数处理ctrl+c等信号

前言 linux下能够通过信号机制来实现程序的软中断&#xff0c;是一个很实用的编程方法。我们平时在程序执行的时候按下ctrl-c、ctrl-z或者kill一个进程的时候事实上都等效于向这个进程发送了一个特定信号&#xff0c;当进程捕获到信号后&#xff0c;进程会被中断并马上跳转到信…

win10开始菜单添加磁贴_Win10 开始菜单全新设计再曝光,磁贴图标出现彩虹选中效果...

自从Windows 10发布以来&#xff0c;就已经有不计其数的设计师或者是开发爱好者针对于Win 10进行了许多字形的设计以及改进&#xff0c;尤其是在外观设计UI上。而在此之前的2017开发者大会上&#xff0c;微软也是推出了一套全新的设计语言系统&#xff0c;也就是Fluent Design …

Codeforces Round #401 (Div. 1) C(set+树状数组)

题意&#xff1a; 给出一个序列&#xff0c;给出一个k&#xff0c;要求给出一个划分方案&#xff0c;使得连续区间内不同的数不超过k个&#xff0c;问划分的最少区间个数&#xff0c;输出时将k1~n的答案都输出 比赛的时候想的有点偏&#xff0c;然后写了个nlog^2n的做法&#x…

JSP是什么?

JSP是什么&#xff1f;sun公司制定的一种服务器端动态页面技术规范。JSP其实是一个以“jsp”为后缀的文件&#xff0c;该文件的内容主要是html和少量的java代码&#xff0c;容器会将jsp文件自动转换成一个servlet然后执行。如何写一个JSP文件&#xff1f;step1,创建一个以“.js…

python数据科学手册pdf微盘_适合新手的Python数据科学

对于做数据工作的新手&#xff0c;学习和使用一门编程语言&#xff0c;是基本的要求。你可以根据自己的实际情况&#xff0c;选择适合自己的编程语言。做数据工作的朋友&#xff0c;有的使用R语言(我的很多数据工作就是用R语言完成)&#xff0c;有的使用Python语言(我也是用Pyt…

Java To CSharp源代码转换

前言 开发环境 客户端&#xff1a;Unity3D开发(C#) 服务器&#xff1a;Java &#xff08;基于Java7&#xff09; 日 期&#xff1a;2016年09月 需求说明 部分服务器的部分逻辑功能在客户端实现一遍&#xff0c;可以简单的理解为服务器的部分逻辑代码搬到客户端来实现一遍。 想…