【华为机试在线训练】Day 10

【华为OD机试真题】115、最大利润 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 题目描述 >商人经营一家店铺, 有number种商品,由于仓库限制每件商品的最大持有数量是item[index],每种商品的价格是item-price[item _index][day], 通过对商品的买进和卖出获取利润,请给出商人在days天内能获取的最大的利润   注:同一件商品可以反复买进和卖出 阅读详情

自动售货系统

题目描述

1 总体说明

考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。

系统初始化时自动售货机中商品为6种商品,商品的单价参见1.1规格说明,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置,参见2.1 系统初始化。

1.1规格说明

1. 商品:每种商品包含商品名称、单价、数量三种属性,其中商品名不重复。考生不能修改商品名称和单价,初始化命令设置商品数量。这些信息在考试框架中进行定义,考生在实现功能代码时可直接使用。

商品 名称

单价

数量

A12X
A23X
A34X
A45X
A58X
A66X

2. 存钱盒信息:钱币面额、张数两种属性。初始化命令设置各种面额钱币张数。这些信息在考试框架中进行定义,考生在实现功能代码时可直接使用。

钱币面额

张数

10元

X

5元

X
2元X
1元X

3. 退币原则 :

1) 根据系统存钱盒内钱币的 信息 ,按钱币总张数最少的原则进行退币。

2) 如果因零钱不足导致不能退币,则尽最大可能退币,以减少用户损失。

例如:假设存钱盒内只有4张2元,无其它面额钱币。如果需要退币7元,系统因零钱不足无法退币,则继续尝试退币6元,最终系统成功退币3张2元,用户损失1元钱币。

4. 投币操作说明:每次投币成功,投入的钱币面额累加到投币余额;同时,本次投入的钱币放入存钱盒中,存钱盒相应面额钱币增加。

5. 投币余额:指当前自动售货机中用户剩余的可购买商品的钱币总额;例如:投入2元面额的钱币,投币余额增加2元;购买一件价格2元的商品,投币余额减少2元;

6. 投币余额约束:投币余额不能超过10元。

7. 退币操作说明:退币操作需要遵守 退币原则 ;退币成功后,投币余额清零,同时扣除存钱盒相应的金额。

8. 购买商品操作说明:一次仅允许购买一件商品;购买商品成功后,自动售货机中对应商品数量减1,投币余额扣除本次购买商品的价格。

2 操作说明

命令字与第一个参数间使用一个空格分隔,多条命令采用分号隔开。考试系统会对输入命令格式进行处理,考生不需要关注输入命令格式的合法性,只需要实现命令处理函数。

2.1 系统初始化

命令格式:

r A1 数量 -A2 数量 -A3 数量 -A4 数量 -A5 数量 -A6 数量 1 元张数 -2 元张数 -5 元张数 -10 元张数

参数名称

参数说明

类型

取值范围

A1数量

商品A1数量

整数

[0,10]

A2数量

商品A2数量

整数

[0,10]

A3数量

商品A3数量

整数

[0,10]

A4数量

商品A4数量

整数

[0,10]

A5数量

商品A5数量

整数

[0,10]

A6数量

商品A6数量

整数

[0,10]

1元张数

面额1元钱币张数

整数

[0,10]

2元张数

面额2元钱币张数

整数

[0,10]

5元张数

面额5元钱币张数

整数

[0,10]

10元张数

面额10元钱币张数

整数

[0,10]

商品和各种面额钱币取值范围只是作为初始化命令的限制,其它场景下不限制取值范围;考试框架已经实现取值范围的检查,考生不需要关注。

功能说明:设置自动售货机中商品数量和存钱盒各种面额的钱币张数;

约束说明:系统在任意阶段均可执行r初始化系统;考生不需要关注参数的合法性,不需要关注增加或缺少参数的场景;

输出说明:输出操作成功提示(执行完r命令后系统会自动输出操作结果,考生不需要再次调用输出函数),例:

命令输出含义
r 6-5-4-3-2-1 4-3-2-1;S001:Initialization is successful初始化成功

2.2 投币

命令格式:p 钱币面额

功能说明:

(1) 如果投入非1元、2元、5元、10元的钱币面额(钱币面额不考虑负数、字符等非正整数的情况),输出“E002:Denomination error”;

(2) 如果存钱盒中1元和2元面额钱币总额小于本次投入的钱币面额,输出“E003:Change is not enough, pay fail”,但投入1元和2元面额钱币不受此限制。

(3) 如果投币余额大于10元,输出“E004:Pay the balance is beyond the scope biggest”;

(4) 如果自动售货机中商品全部销售完毕,投币失败。输出“E005:All the goods sold out”;

(5) 如果投币成功,输出“S002:Pay success,balance=X”;

约束说明:

(1) 系统在任意阶段都可以投币;

(2) 一次投币只能投一张钱币;

(3) 同等条件下,错误码的优先级:E002 > E003 > E004 > E005;

输出说明:如果投币成功,输出“S002:Pay success,balance=X”。

例:

命令

输出

p 10;

S002:Pay success,balance=10

2.3 购买商品

命令格式:b 商品名称

功能说明:

(1) 如果购买的商品不在商品列表中,输出“E006:Goods does not exist”;

(2) 如果所购买的商品的数量为0,输出“E007:The goods sold out”;

(3) 如果投币余额小于待购买商品价格,输出“E008:Lack of balance”;

(4) 如果购买成功,输出“S003:Buy success,balance=X”;

约束说明:

(1) 一次购买操作仅能购买一件商品,可以多次购买;

(2) 同等条件下,错误码的优先级:E006 > E007 > E008;

输出说明:

如果购买成功,输出“S003:Buy success,balance=X”。

例:

命令

输出

b A1;

S003:Buy success,balance=8

2.4 退币

命令格式:c

功能说明:

(1) 如果投币余额等于0的情况下,输出“E009:Work failure”;

(2) 如果投币余额大于0的情况下,按照 退币原则 进行“找零”,输出退币信息;

约束说明:

(1) 系统在任意阶段都可以退币;

(2) 退币方式必须按照 退币原则 进行退币;

输出说明:如果退币成功,按照 退币原则 输出退币信息。

例,退5元钱币:

命令

输出

c;

1 yuan coin number=0

2 yuan coin number=0

5 yuan coin number=1

10 yuan coin number=0

2.5 查询

命令格式:q 查询类别

功能说明:

(1) 查询自动售货机中商品信息,包含商品名称、单价、数量。 根据商品数量从大到小进行排序;商品数量相同时,按照商品名称的先后顺序进行排序 。

例如:A1的商品名称先于A2的商品名称,A2的商品名称先于A3的商品名称。

(2) 查询存钱盒信息,包含各种面额钱币的张数;

(3) 查询类别如下表所示:

查询类别

查询内容

0

查询商品信息

1查询存钱盒信息

如果“查询类别”参数错误,输出“E010:Parameter error”。“查询类别”参数错误时,不进行下面的处理;

输出说明:

“查询类别”为0时,输出自动售货机中所有商品信息(商品名称单价数量)例:

命令

输出

q 0;

A1 2 6

A2 3 5

A3 4 4

A4 5 3

A5 8 2

A6 6 0

“查询类别”为1时,输出存钱盒信息(各种面额钱币的张数),格式固定。例:

命令

输出

q 1;

1 yuan coin number=4

2 yuan coin number=3

5 yuan coin number=2

10 yuan coin number=1

输入描述:

依照说明中的命令码格式输入命令。

输出描述:

输出执行结果

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
#include <cctype>
       
using namespace std;
int A_num[]={0,0,0,0,0,0,0};//货的数目
int A_price[]={0,2,3,4,5,8,6};//货的价格
int M_num[]={0,0,0,0};//钱币数目
int M[]={1,2,5,10};//钱币面值
int pay=0;//付的钱数
     
     
void process(string str,int pos);
   
   
int main()
{
    int i,k,tmp,len;
    string  str;
    while (getline(cin,str))
    {
        cout<<"S001:Initialization is successful"<<endl;//初始化成功
        tmp=0;
        k=1;
        for(i=2;str[i]!=' ';i++)//取货的个数
        {
            if(str[i]=='-'){A_num[k++]=tmp;tmp=0;}
            else if(isdigit(str[i]))tmp=tmp*10+str[i]-'0';
        }
        A_num[k]=tmp;
        len=i;//保存空格位置
        k=0;
        tmp=0;
        for(i=len;str[i]!=';';i++)//取钱的个数
        {
            if(str[i]=='-'){M_num[k++]=tmp;tmp=0;}
            else if(isdigit(str[i]))tmp=tmp*10+str[i]-'0';
        }
        M_num[k]=tmp;
        pay=0;//初始清零
        for(i=13;i<str.size();i++)//功能处理
        {
            if((i+1)<str.size()&&str[i]==';')
            process(str,i+1);
        }
    }
       
    return 0;
}
     
     
void process(string str,int pos)
{
    int i,tmp=0;
    switch(str[pos])
    {
        case 'p'://付钱
        for(i=pos+2;str[i]!=';';i++)
        {
            tmp=tmp*10+str[i]-'0';
        }
     
        if(tmp!=1&&tmp!=2&&tmp!=5&&tmp!=10)cout<<"E002:Denomination error"<<endl;
        else
        {
            if(tmp>2&&(M_num[0]+2*M_num[1])<tmp)cout<<"E003:Change is not enough, pay fail"<<endl;
            else if(tmp>10)cout<<"E004:Pay the balance is beyond the scope biggest"<<endl;
            else if(A_num[3]==0&&A_num[2]==0&&A_num[1]==0&&A_num[0]==0)cout<<"E005:All the goods sold out"<<endl;
            else
            {
                pay+=tmp;
                switch(tmp)
                {
                case 1:M_num[0]++;cout<<"S002:Pay success,balance="<<pay<<endl;break;
                case 2:M_num[1]++;cout<<"S002:Pay success,balance="<<pay<<endl;break;
                case 5:M_num[2]++;cout<<"S002:Pay success,balance="<<pay<<endl;break;
                case 10:M_num[3]++;cout<<"S002:Pay success,balance="<<pay<<endl;break;
                default:break;
                }
            }
        }
    break;
    case 'q'://查询
    tmp=str[pos+2]-'0';
    if(tmp==0)
    {
        for(i=1;i<=6;i++)cout<<"A"<<i<<" "<<A_price[i]<<" "<<A_num[i]<<endl;
    }
    else if(tmp==1)
    {
        for(i=0;i<4;i++)cout<<M[i]<<" yuan coin number="<<M_num[i]<<endl;
    }
    else cout<<"E010:Parameter error";
    break;
    case 'b'://买商品
    tmp=str[pos+3]-'0';
    if(tmp>=1&&tmp<=6)
    {
        if(A_num[tmp]==0)cout<<"E007:The goods sold out"<<endl;
        else if(pay<A_price[tmp])cout<<"E008:Lack of balance"<<endl;
        else {pay-=A_price[tmp];cout<<"S003:Buy success,balance="<<pay<<endl;A_num[tmp]--;}
    }
    else
    cout<<"E006:Goods does not exist"<<endl;
    break;
    case 'c'://找钱退币
    if(pay==0)cout<<"E009:Work failure";
    else
    {
        int cnt[4]={0,0,0,0};
        while((pay-10)>=0&&M_num[3]>0){pay-=10;M_num[3]--;cnt[3]++;}
        while((pay-5)>=0&&M_num[2]>0){pay-=5;M_num[2]--;cnt[2]++;}
        while((pay-2)>=0&&M_num[1]>0){pay-=2;M_num[1]--;cnt[1]++;}
        while((pay-1)>=0&&M_num[0]>0){pay-=1;M_num[0]--;cnt[0]++;}
        for(i=0;i<4;i++)cout<<M[i]<<" yuan coin number="<<cnt[i]<<endl;
        pay=0;
    }
    break;
    default:
    break;
    }
}


Redraiment的走法

题目描述

题目描述 

   Redraiment是走梅花桩的高手。Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗? 

样例输入

6

2 5 1 5 4 5

样例输出

3

提示

Example: 
6个点的高度各为 2 5 1 5 4 5 
如从第1格开始走,最多为3步, 2 4 5 
从第2格开始走,最多只有1步,5 
而从第3格开始走最多有3步,1 4 5 
从第5格开始走最多有2步,4 5

所以这个结果是3。

接口说明

方法原型:

    int GetResult(int num, int[] pInput, List  pResult);

输入参数:
   int num:整数,表示数组元素的个数(保证有效)。
   int[] pInput: 数组,存放输入的数字。

输出参数:
   List pResult: 保证传入一个空的List,要求把结果放入第一个位置。
返回值:
  正确返回1,错误返回0

输入描述:

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

输出描述:

输出结果

#include<iostream>
#include<stdio.h>
#include<vector>
 
using namespace std; //动态规划
 
int main(){
    int N;
    while(cin>>N){
        vector<int> Data(N,0);
        vector<int> Dp(N,1);
        int ret = 0;
        for(int i=0; i<N; ++i){
            cin >> Data[i];
            for(int j=0; j<i; j++){
                if(Data[i]>Data[j])
                    Dp[i] = max(Dp[i],Dp[j]+1);
            }
            ret = max(ret,Dp[i]);
        }
        cout<< ret<<endl;
    }
    return 0;
}


求解立方根

题目描述

•计算一个数字的立方根,不使用库函数

详细描述:

•接口说明

原型:

public static double getCubeRoot(double input)

输入:double 待求解参数

返回值:double  输入参数的立方根,保留一位小数

输入描述:

待求解参数 double类型

输出描述:

输入参数的立方根 也是double类型

/*
牛顿迭代法。设f(x)=x3-y, 求f(x)=0时的解x,即为y的立方根。
根据牛顿迭代思想,xn+1=xn-f(xn)/f'(xn)即x=x-(x3-y)/(3*x2)=(2*x+y/x/x)/3;
*/
#include <stdio.h>
inline double abs(double x){return (x>0?x:-x);}
double cubert(const double y){
    double x;
    for(x=1.0;abs(x*x*x-y)>1e-7;x=(2*x+y/x/x)/3);
    return x;
}
int main(){
    for(double y;~scanf("%lf",&y);printf("%.1lf\n",cubert(y)));
    return 0;
}


求最小公倍数

题目描述

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

输入描述:

输入两个正整数A和B。

输出描述:

输出A和B的最小公倍数。

/* c++
最小公倍数 = 两数之积除以最大公约数
*/
#include<iostream>
using namespace std;
 
int gcd(int a, int b) // greatest common divisor
{
    while(a%b){
        int tmp = a;
        a = b;
        b = tmp%b;
    }
    return b;
 
}
int main()
{
    int a,b;
    while(cin >> a >> b){
        cout << a*b/gcd(a,b) <<endl;
    }
    return 0;
}


DFS优先搜索

题目描述

编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true;不满足时返回false。 

输入描述:

第一行是数据个数,第二行是输入的数据

输出描述:

返回true或者false

#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
#include <vector>
#include <assert.h>
#include <stdio.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <numeric>
using namespace std;

bool DFS(vector<int> &nums, vector<bool> &visited, int sum)
{
	if (sum == 0) return true;
	for (int i = 0; i < visited.size(); ++i)
	{
		if (visited[i] == false)
		{
			visited[i] = true;
			if (DFS(nums, visited, sum - nums[i]))
				return true;
			visited[i] = false;
		}
	}
	return false;
}

int main(void)
{
	int n, tmp;
	while (cin >> n)
	{
		bool flag = true;
		vector<int> array_rest;
		vector<int> array_5;
		vector<int> array_3;
		for (int i = 0; i < n; ++i)
		{
			cin >> tmp;
			if (tmp % 5 == 0)
				array_5.push_back(tmp);
			else if (tmp % 3 == 0)
				array_3.push_back(tmp);
			else
				array_rest.push_back(tmp);
		}
		// 首先对3组数据求和,分别是3的倍数,5的倍数和剩下的
		int sum_3 = std::accumulate(array_3.begin(), array_3.end(), 0);
		int sum_5 = std::accumulate(array_5.begin(), array_5.end(), 0);
		int sum_rest = std::accumulate(array_rest.begin(), array_rest.end(), 0);
		int diff = abs(sum_3 - sum_5);
		// 然后用深度优先遍历找到是否存在解,
		// 因为2*x + diff = sum_rest
		// 所以x = [sum_rest-diff]/2     
		// 因此用深度遍历找到array_rest中是否存在和为x的一组数就可以了
		if ((sum_rest - diff) % 2 != 0)
		{
			flag = false; // 不能整除就无解
		}
		else
		{
			int goal = (sum_rest - diff) / 2;
			vector<bool> visited(array_rest.size(), false);
			if (!DFS(array_rest, visited, goal))
				flag = false;
		}
		if (flag)
			cout << "true" << endl;
		else
			cout << "false" << endl;
	}
	return 0;
}


 

自动售货系统(SSH框架) 简单的自动售货系统的SSH框架项目案例,使用Spring3.0+Struts2.1+Hibernate3.3搭建的。适合初学SSH者参考。页面没修饰。 立即下载

相关推荐

自动售货系统后台表结构

自动售货系统后台表结构,后台管理系统可以参照一下。

做题打卡第小年(23)天

今天继续处理牛客上的题来着 也没有过多学习 所以就发一道坑私人的题 信我的 千万别做 我在vs运行都对 到上面就不对 那倒题的标准答案没有一个是对的 下面把这个坑死人的题发上来 题目描述 1 总体说明 考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。 系统初始化时自动售货机中商品为6种商品,商品的单价参见1.1规格说明,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置,参见2.1 系统初始化。 1.1规格说明 商品:每种商品包

Ignortools的博客 481

自动售货机系统JAVA实现

本系统应用java语言完成了自动售货机系统的实现,这是本课硬件课设的一个题目,传上来方便后来人。

软件工程大作业:自动售货机系统

实验题目 自动售货机系统 一、实验目的 分析自动售货机系统的整个开发过程,包括需求分析、数据流图、数据字典、结构图和详细设计,通过分析,明白整个过程需要实现哪些功能,对数据有哪些要求,明确本系统的功能需求和性能需求,对系统的任务进行概述,从而开发出一个比较完善的自动售货机系统。 二、设备与环境 Windows 10 操作系统 三、实验要求 得到自动售货机系统的需求分析,根据需求分析画出数据流图和结...

jkkbiancheng的博客 3万+

大模型-CLIP 详细介绍

最先进的计算机视觉系统通常被训练来预测一组预定义的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为要指定任何其他视觉概念,就需要额外的标注数据。比如,它们可以识别“猫”、“狗”、“汽车”等。但是,这种做法有一个明显的局限性:如果你想让系统识别一个新的类别,比如说“独角兽”,你就必须提供大量带有“独角兽”标签的图片来训练系统。这不仅耗时费力,而且限制了系统的灵活性和广泛适用性。直接从原始文本中学习关于图像的信息是一种很有前途的替代方案,因为它利用了更广泛的监督来源。

晓的博客 9710

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

weixin_45207751的博客 2250

自动售货机控制系统

设计说明 流程说明 各模块说明 程序设计 各模块连接 波形仿真 主控模块的波形方真 BCD译码仿真 TOP文件的仿真 总结 这周完成一个课程任务,用VHDL语言写一个自动售货机的控制系统。使用的仿真器是MAX+plus。 设计说明   根据要求可自动出售两种货物,这里的自动售货机可销售cola和pepsi两种饮料:售货机可识别1元和0.5元两种货币,在一次购买过

1万+

足球赛事数据API:开发者生存指南(附真实踩坑记录)

作为一个既爱看球又爱写代码的老宅男,我这些年用过的足球API比看过的比赛还多。从最初被各种API文档折磨到怀疑人生,到现在能闭着眼睛调接口,中间的血泪史够写本书了。今天就把这些经验(和教训)分享给各位同好,特别是那些正在为"老板要做个足球App"而秃头的同行们。文档清晰免费层可用响应格式规范API-Sports免费额度大方支持GraphQL有中文文档(难得!Sportmonks数据全面有Webhook支持按需付费。

Happy0970的博客 2190

自动售货系统(初始化,投币,购买,退币,查询)Java

投币系统设计

多头注意力探索Now 750

车载LIN总线避坑指南:主从节点通信失败的5个常见原因及解决方案

本文深度解析车载LIN总线主从节点通信失败的五大常见原因,涵盖物理层信号异常、调度表冲突、LDF配置错误、节点状态机缺陷及环境干扰。重点剖析了LDF文件配置不一致、波特率不匹配等关键问题,并提供了从示波器波形分析到软件配置检查的完整实战排查路径,帮助工程师高效定位并解决LIN通信故障。

g9h0i1的博客 1249

告别手动抓信号!Synopsys AXI VIP的Port Monitor实战:5分钟搞定与Scoreboard的TLM连接

本文详细介绍了Synopsys AXI VIP的Port Monitor功能,帮助验证工程师快速实现与Scoreboard的TLM连接,5分钟内完成自动数据收集。通过实战指南和常见问题排查,提升验证效率,告别手动抓信号的繁琐流程。

weixin_30565327的博客 299

基于Python下的自动售货系统

题目描述 分析过程 - 题目描述 1 总体说明 考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。 系统初始化时自动售货机中商品为6种商品,商品的单价参见1.1规格说明,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置,参见2.1 系统初始化。 1.1规格说明 商品:每种商品包含商品名称、单价、数量...

villaaaaaaaa 7148

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 520

【华为机试在线训练】Day5

题目描述 信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。   采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出。 输入描述: 一组输入整数序列I和一组规则整数序列R,I和R序列的第一个整数为序列的个数(个数不包含第一个整数);整数范围为0~0xFFFFFFFF,序列个数不限 输出描述: 从R依次中取...

Twinkle 563

ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

ComfyUI 是一个基于节点的 Stable Diffusion 图形化用户界面。您可以通过将不同的节点连接在一起来构建生成图像的工作流程。一些常用的节点包括加载检查点模型(Load Checkpoint)、输入提示词(CLIP Text Encode)、指定采样器(KSampler)等。ComfyUI 将工作流程分解为可重新排列的元素,以便您可以轻松创建自己的元素。

水滴的博客 5032

Qt应用软件【协议篇】自定义协议处理串口半包贴包

Qt串口数据,半包,贴包,丢包数据处理

小鱼酱的博客 1210

【华为机试在线训练】Day 8

21点游戏 题目描述 问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字。[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字] 输出: true or false 输入描述: 输入4个int整数 输出描述: 返回能否得到24点,能输出true,不能输出false #include&lt;iostream&gt; #inc...

Twinkle 355

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【牛客网】—— 华为机试在线练习整理

题目ID:36884 - 查找组成一个偶数最接近的两个素数 题目描述 任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述: 输入一个偶数 输出描述: 输出两个素数 示例1 输入:20 输出:7 13 解题思路 该题思路是:我们先实现一个判断一个树是否为素数的子函数,如何判断一个数是否为素数,那就很简...

chenxiyuehh的博客 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【华为机试在线训练】Day2

Day2 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 注意有一个多组输入!!!! 挺坑的。 #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt...

Twinkle 306

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【华为机试在线训练】Day 9

公共字串计算 题目描述 题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写 详细描述: 接口说明 原型: int getCommonStrLength(char * pFirstStr, char * pSecondStr); 输入参数:      char * pFirstStr //第一个字符串      char * pSecondStr//第二个字符串 ...

Twinkle 476

【华为机试在线训练】Day 7

题目描述 请实现如下接口     /* 功能:四则运算      * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}"          * 返回:算术表达式的计算结果      */     public static int calculate(String strExpression)     {        ...

Twinkle 423

【华为机试在线训练】Day1

  Day1 题目描述 计算字符串最后一个单词的长度,单词以空格隔开。  输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 示例1 输入 hello world 输出 5 #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int m...

Twinkle 540

【华为机试在线训练】Day4

题目描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10;  A1A;  $%$;  YAD; 等。 下面是一个简单的例子 如: A...

Twinkle 322

【华为机试在线训练】Day3

题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 #include &lt;stdio.h&gt; int main(void){ int n,m; int a[10]={0,0,0,0,0,0,0,0,0,0};//标记 ...

Twinkle 378

【华为机试在线训练】Day 6

题目描述 定义一个二维数组N*M(其中2&lt;=N&lt;=10;2&lt;=M&lt;=10),如5 × 5数组下所示:  int maze[5][5] = {         0, 1, 0, 0, 0,         0, 1, 0, 1, 0,         0, 0, 0, 0, 0,         0, 1, 1, 1, 0,         0, 0...

Twinkle 370

【华为机试在线训练】Day 11

计算字符串的相似度 题目描述 对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下: 1 修改一个字符,如把“a”替换为“b”。 2 增加一个字符,如把“abdd”变为“aebdd”。 3 删除一个字符,如把“travelling”变为“traveling”。 比如,对于“abcdefg”和“abcdef”两个字符串来...

Twinkle 336
上一篇: 【华为机试在线训练】Day 9
下一篇: 【编程测试题】阿里巴巴2019年提前批编程题
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值