程序设计挑战赛A卷

某药店为了回馈顾客,拿出7个品牌的口罩做特价限购活动:A品牌是3个装2元,B品牌是3个装3元,C品牌是4个装2元,D品牌是5个装3元,E品牌是4个装5元,F品牌是1个装2元,G品牌是2个装2元,每个品牌只能买一包。小涵拿N元钱去药店买特价口罩,小涵最多能买多少个口罩?

import java.util.Scanner;public class medicineQue {public static void main(String[] args){//药店应用题Scanner sc=new Scanner(System.in);System.out.println("请输入预算:");int N=sc.nextInt();int S=0;//口罩计数器//首先考虑极端情况,钱特别多,达到总和19,那么七个品牌的口罩都能买到//钱特别少,少于2则买不到口罩if(N>=19){S=22;}else if(N<2){S=0;}else if(N==2||N==3||N==5){switch (N){case 2:{S=4;break;}case 3:{S=5;break;}case 5:{S=4;break;}default:break;}}else{for(int i=1;i<8;i++){switch(i){case 1:{N=N-2;S=S+4;break;}//ccase 2:{N=N-2;S=S+3;break;}//acase 3:{N=N-3;S=S+5;break;}//Dcase 4:{N=N-2;S=S+2;break;}//Gcase 5:{N=N-3;S=S+3;break;}//Bcase 6:{N=N-5;S=S+4;break;}//Ecase 7:{N=N-2;S=S+1;break;}//Fdefault:break;}if(N<=1) break;}}System.out.println("可买口罩个数为:"+S);}
}

从键盘上输入一个数值字符串(表示非负整数,所以该字符串不带正负号和小数点),输出这个字符串中的数字字符重新组合的最小数。例如“654321”输出的为“123456”;“001254”输出为“100245”;“00000”输出“0” 输入说明:数字字符串S,输出说明:最小数字

import java.util.Scanner;public class minNum {public static void main(String[] args){//最小数字System.out.println("请输入数值字符串:");Scanner sc=new Scanner(System.in);String in=sc.nextLine();char[] ch=in.toCharArray();int min=9;int t=0;int j=0;for(int i=0;i<in.length();i++){//找到除0外最小的数int num=in.charAt(i)-'0';if(num<min&&num!=0){min=num;//min用于记录最小值j=i;//记录最小值的下标t++;}}if(t==0) min=0;if(min==0) System.out.println("0");else{//删除字符串中非0最小值,变成新的字符串String s=in;if(j<0||j>=in.length()){System.out.println("索引超出范围!");}else{s=in.substring(0, j)+in.substring(j+1);}System.out.println("s为:"+s);//排序char[] a=s.toCharArray();//a[0]=min;for(int i=0;i<s.length()-1;i++){for(j=i+1;j<s.length();j++){if(a[j]<a[i]){char temp=a[i];a[i]=a[j];a[j]=temp;}}}System.out.println("排序后:"+String.valueOf(a));String out=String.valueOf(min)+String.valueOf(a);System.out.println(out);}}
}

给定一个只包含0-9、‘-’、‘’的合法数学表达式(长度<1000),规定减号‘-’的优先级高于乘号‘‘’,请输出计算结果。输入说明:合法的数学表达式(其中的数没有负数) 输出说明:输出表达式的计算结果 输入样例:12 * 3-12 * 2 输出样例:-216

import java.util.Scanner;
import java.util.Stack;public class MathExpre {public static void main(String[] args){//数学表达式计算System.out.println("请输入数学表达式:");Scanner sc=new Scanner(System.in);String in=sc.nextLine();//调用数学表达式处理函数int out=MathCha(in);System.out.println("该数学表达式结果为:"+out);}static int MathCha(String in){//创建两个空栈,一个为数据栈,一个为符号栈Stack<Integer>data=new Stack<>();Stack<Character>sign=new Stack<>();//处理字符串,数字入数据栈,符号入符号栈for(int i=0;i<in.length();i++){char ch=in.charAt(i);//如果是数字if(Character.isDigit(ch)){int num=0;while(i<in.length()&&Character.isDigit(in.charAt(i))){num=num*10+(in.charAt(i)-'0');i++;}i--;//while循环到达符号停止,所以需要往回跳一位data.push(num);//数字压入栈内}else if(ch=='-'||ch=='+'){//处理加减法while(!sign.isEmpty()){if (data.size() == 1) return data.pop();int b=data.pop();int a=data.pop();char s=sign.pop();switch(s){case '+':{data.push(a+b);break;}case '-':{data.push(a-b);break;}case '*':{data.push(a*b);break;}case '/':{data.push(a/b);break;}default:break;}}sign.push(ch);}else if(ch=='*'||ch=='/'){//乘除法的情况while(!sign.isEmpty()&&(sign.peek()=='*'||sign.peek()=='/')){if (data.size() == 1) return data.pop();int b=data.pop();int a=data.pop();char s=sign.pop();switch(s){case '*':{data.push(a*b);break;}case '/':{data.push(a/b);break;}default:break;}}sign.push(ch);}}while(!sign.isEmpty()){if(data.size() == 1) return data.pop();//确保数据栈有足够的元素char s=sign.pop();int b=data.pop();int a=data.pop();switch (s){case '+':{data.push(a+b);break;}case '-':{data.push(a-b);break;}case '*':{data.push(a*b);break;}case '/':{data.push(a/b);break;}default:break;}}return data.pop();}
}

从大于等于N的正整数里找到一个最小的数M,使之满足M和M的逆序数(如1230的逆序数为321)的乘积为[100000000,200000000]区间内的值。输入说明:起始数字N;输出说明:找到的第一个符合条件的数,如果没有符合条件的数,输出F。输入样例:123456 输出样例:124100

思路:找到M的逆序数,算乘积,判断是否在区间范围内

import java.util.Scanner;public class InversionCount {public static void main(String[] args){//逆序数乘积int N;long L=100000000;long R=200000000;System.out.println("请输入一个正整数N:");Scanner sc=new Scanner(System.in);N=sc.nextInt();for(int i=N;i<R;i++){int M=i;//找M的逆序数String str="";//System.out.println("M="+M);while(M!=0){int temp=M%10;if(temp!=0||!str.isEmpty()){String str1=String.valueOf(temp);//System.out.println("str1="+str1);str=str+str1;//System.out.println("str="+str);}M=M/10;}//计算M与M的逆序数乘积long s1=Integer.parseInt(str);//System.out.println("s1="+s1);long s=i*s1;//System.out.println("乘积是:"+s);if(s>=L&&s<=R){System.out.println(i);//System.out.println(str);//System.out.println(s);return;}}System.out.println("F");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软硬件开发面试问题大汇总篇——针对非常规八股问题的提问与应答(代码规范与生态管理)

软硬件开发&#xff0c;对于编码规范、生态管理等等综合问题的考察尤为重要。 阐述下环形缓冲区的用途 环形缓冲区&#xff08;Ring Buffer&#xff09;是一种固定大小的数据结构&#xff0c;常用于实现数据的流式传输或临时存储。在环形缓冲区中&#xff0c;当到达缓冲区的末尾…

计算机网络:数据链路层 —— 虚拟局域网 VLAN

文章目录 局域网虚拟局域网 VLAN虚拟局域网 VLAN 概述实现机制IEEE 802.1Q帧以太网交换机的接口类型Access 接口Trunk 接口Hybrid 接口不进行人为的VLAN划分划分两个不同VLANTrunk接口去标签后进行转发Trunk接口直接转发 局域网 局域网&#xff08;Local Area Network&#xf…

【Vulnhub靶场】DC-6

DC-6靶场下载地址&#xff1a;https://download.vulnhub.com/dc/DC-6.zip​​​​​​ 目标 本机IP&#xff1a;192.168.118.128 靶机IP&#xff1a;192.168.118.0/24 信息收集 主机发现 arp-scan 192.168.118.0/24 根据上图得出目标主机为192.168.118.143 扫描端口&#x…

图片藏字方案介绍

在Ubuntu安装库 sudo apt-get install libopencv-dev生成字符图片&#xff0c;可以通过PS生成&#xff0c;身为程序员&#xff0c;尝试通过python生成&#xff0c;更加灵活方便 from PIL import Image, ImageDraw, ImageFontdef create_text_image(text, font_path, font_siz…

[LeetCode] 784. 字母大小写全排序

题目描述&#xff1a; 给定一个字符串 s &#xff0c;通过将字符串 s 中的每个字母转变大小写&#xff0c;我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 示例 1&#xff1a; 输入&#xff1a;s "a1b2" 输出&#xff1…

深入理解Java基础概念的高级应用(1/5)

目录 1. Java内存模型&#xff1a;堆、栈与方法区 示例代码&#xff1a;对象存储位置 2. 类加载器的工作原理 示例代码&#xff1a;自定义类加载器 3. JVM如何执行字节码 字节码指令示例 4. Java基础数据类型的存储与操作 自动装箱与拆箱 示例代码&#xff1a;基础类型…

Python小游戏14——雷霆战机

首先&#xff0c;你需要确保安装了Pygame库。如果你还没有安装&#xff0c;可以使用pip来安装&#xff1a; bash pip install pygame 代码如下&#xff1a; python import pygame import sys import random # 初始化Pygame pygame.init() # 设置屏幕大小 screen_width 800 scr…

Android在kts中使用navigation及Args

Android在kts中使用navigation及Args 前言&#xff1a; ​ 之前在项目中使用过navigation&#xff0c;但都是以Groory的方式&#xff0c;最近一年多使用kts后忍不住把项目都改成kts的方式&#xff0c;不过其中也遇到不少坑&#xff0c;今天就讲解一下如何在kts中使用navigati…

解决蓝牙键盘按键错乱的问题

最近发现我的蓝牙键盘按下的键盘与实际不符&#xff0c;于是就上网搜索答案&#xff0c;网上的方法都试了一遍 最后想着准备退货&#xff0c;没想到客服直接给我解决了 原因很简单&#xff0c;就是之前误触了键盘的某些按键导致的 每个键盘品牌的按键因该都不同的&#xff0c;可…

VBA技术资料MF220:删除模块内容

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

英伟达GPU算力【自用】

GPU&#xff08;图形处理单元&#xff09;算力的提升是驱动当代科技革命的核心力量之一&#xff0c;尤其在人工智能、深度学习、科学计算和超级计算机领域展现出了前所未有的影响力。2024年的GPU技术发展&#xff0c;不仅体现在游戏和图形处理的传统优势上&#xff0c;更在跨行…

【小白学机器学习21】 理解假设检验的关键:反证法

目录 理解假设检验的关键&#xff1a;反证法 1 假设的检验的出发点&#xff1a;H1假设&#xff0c; 1.1 为什么我们不去直接证明H1是否正确&#xff1f; 2 故意设立一个假设H1的否命题为H0 3 设定显著度α 4 总结假设检验的整个思路就是反证法 5 两类错误的关系 理解假…

ZooKeeper 客户端API操作

文章目录 一、节点信息1、创建节点2、获取子节点并监听节点变化3、判断节点是否存在4、客户端向服务端写入数据写入请求直接发给 Leader 节点写入请求直接发给 follow 节点 二、服务器动态上下线监听1、监听过程2、代码 三、分布式锁1、什么是分布式锁?2、Curator 框架实现分布…

AI视频监控平台教你如何行人追踪+人流量统计

行人追踪与人流量检测技术文档 1. 概述 本项目旨在通过使用ONNX和BYTETracker实现对视频中的行人进行实时追踪&#xff0c;并统计人流量变化。主要功能包括检测视频中的行人、追踪其位置变化、识别人流进出区域、并进行人流量的实时统计。本项目可以用于安全监控、人员流动分…

qt 滚动条 美化

qt QScrollBar 滚动条分为竖直与水平滚动条&#xff0c;两者设置上类似&#xff0c;但也有一些不同&#xff0c;下面主要讲述美化及注意事项。 一、竖直滚动条 竖直滚动条分为7个部分&#xff1a; sub-line、 up-arrow 、sub-page、 hanle、 add-line、 dow-arrow、 add-pag…

线性回归模型与检验 6个适用条件

当因变量与自变量间存在线性相关关系时&#xff0c;可以使用线性回归分析方法确定它们之间的相互依赖的定量关系。此处所说的定量关系&#xff0c;并非严格的因果关系&#xff0c;而是自变量X对因变量Y的影响或预测的作用。 例如分析广告费、产品单价、产品满意度、服务满意度…

说它是谁就是谁—Python语言中的鸭子类型

鸭子类型&#xff08;Duck Typing&#xff09;是动态类型语言中的一种类型推断风格&#xff0c;尤其在Python语言中得到了广泛的应用。它的核心思想是&#xff1a;“如果它走起路来像鸭子&#xff0c;叫起来像鸭子&#xff0c;那么它就是鸭子”。这句话的意思是&#xff0c;我们…

python_httpstat库

Python httpstat是一个基于Python的命令行工具&#xff0c;用于测量HTTP请求的性能和状态信息。它能够向目标服务器发送HTTP请求&#xff0c;并显示详细的统计信息&#xff0c;包括DNS解析时间、建立连接时间、TLS/SSL握手时间、首字节时间、总时间等。这些信息对于排查网络问题…

你是个优秀的人,但不是个好Leader

管理过程中&#xff0c;总有人长叹分身乏术&#xff0c;自己事必躬亲却收效甚微&#xff1b;总有人深陷日常繁琐&#xff0c;四处救火&#xff0c;似乎总有做不完的工作&#xff0c;操不完的心&#xff0c;这是为什么&#xff1f; 很大程度上是因为他们不懂管理的核心。无论…

详解varint,zigzag编码, 以及在Go标准库中的实现

文章目录 为啥需要varint编码为啥需要zigzag编码varint编码解码 zigzag编码解码 局限性 为啥需要varint编码 当我们用定长数字类型int32来表示整数时&#xff0c;为了传输一个整数1&#xff0c;我们需要传输00000000 00000000 00000000 00000001 32 个 bits&#xff0c;而有价…