当前位置: 首页 > article >正文

蓝桥杯国14 不完整的算式

 !!!!!!!!!!!!!!!理清思路 然后一步步写

问题描述

小蓝在黑板上写了一个形如 AopB=C 的算式,其中 A、B、C 都是非负整数,op 是 +、-、*、/(整除)四种运算之一。不过 A、op、B、C 这四部分有一部分被不小心的同学擦掉了。

给出这个不完整的算式,其中被擦掉的部分(被擦掉的部分是被完整的擦掉,不会出现留下若干位数字的情况)用 ? 代替。请你输出被擦掉的部分。

输入描述

输入只有一行,包含一个字符串代表如上文所述的不完整的算式。

输出描述

如果被擦掉的部分是 A、B、C 之一,请输出一个整数代表答案。如果被擦掉的部分是 op,请输出+、-、*、/四个字符之一代表答案。

样例输入1

1+?=2

样例输出1

1

样例输入2

10?3=3

样例输出2

/

代码示例

import java.util.Scanner;
public class Main{public static void main(String[]args){Scanner sc=new Scanner(System.in);String s=sc.nextLine();if(s.contains("+")||s.contains("-")||s.contains("*")||s.contains("/"))//当字符串中有+-*/负号,即缺ABC{String s1[]=s.split("=");//从=字符将整个字符串分成两个字符串,"A op B"是s1[0],"C"是s1[1];String s2=s1[0];//即s2="A op B"if(s1[1].equals("?"))//即C被?代替了{int op=0;for(int i=0;i<s2.length();i++) {if(s2.charAt(i)<'0'||s2.charAt(i)>'9')//检查运算符所在位置的索引{op=i;break;}}int a=Integer.parseInt(s2.substring(0,op));int b=Integer.parseInt(s2.substring(op+1,s2.length()));if(s.contains("+"))System.out.println(a+b);if(s.contains("-"))System.out.println(a-b);if(s.contains("*"))System.out.println(a*b);if(s.contains("/"))System.out.println(a/b);}else {//A或B被替代了int c=Integer.parseInt(s1[1]);int op=0;for(int i=0;i<s2.length();i++){if(s2.charAt(i)=='+'||s2.charAt(i)=='-'||s2.charAt(i)=='*'||s2.charAt(i)=='/')//检查运算符所在位置的索引{op=i;break;}}int a=0;if(s2.charAt(op-1)>='0'&&s2.charAt(op-1)<='9')//有A缺B{a=Integer.parseInt(s2.substring(0,op));if(s.contains("/"))System.out.println(a/c);if(s.contains("-"))System.out.println(a-c);}else {//有B缺Aa=Integer.parseInt(s2.substring(op+1,s2.length()));if(s.contains("/"))System.out.println(a*c);if(s.contains("-"))System.out.println(a+c);}if(s.contains("+"))System.out.println(c-a);if(s.contains("*"))System.out.println(c/a);}}else {//缺运算符String s1[]=s.split("=");//从=字符将整个字符串分成两个字符串int c=Integer.parseInt(s1[1]);//转换成整数CString s2=s1[0];int op=0;for(int i=0;i<s2.length();i++){if(s2.charAt(i)<'0'||s2.charAt(i)>'9')//检查运算符所在位置的索引{op=i;break;}}int a=Integer.parseInt(s2.substring(0,op));//转换成整数Aint b=Integer.parseInt(s2.substring(op+1,s2.length()));//转换成整数Bif(a+b==c)System.out.println("+");if(a-b==c)System.out.println("-");if(a*b==c)System.out.println("*");if(a/b==c)System.out.println("/");}}
}

http://www.lryc.cn/news/2385881.html

相关文章:

  • Anthropic推出Claude Code SDK,强化AI助理与自动化开发整合
  • 6.4.1最小生成树
  • DAY 33
  • 基于ICEEMDAN-SSA-BP的混合预测模型的完整实现过程
  • 常见排序算法详解及其复杂度分析
  • DARLR用于具有动态奖励的推荐系统的双智能体离线强化学习(论文大白话)
  • 第35节:PyTorch与TensorFlow框架对比分析
  • 企业级智能体 —— 企业 AI 发展的下一个风口?
  • 【软考向】Chapter 2 程序设计语言基础知识
  • JavaWeb:SpringBootAOP切面实现统计方法耗时和源码解析
  • RabbitMQ的其中工作模式介绍以及Java的实现
  • vue2项目搭建
  • Spring AI 源码解析:Tool Calling链路调用流程及示例
  • 2025年- H48-Lc156 --236. 二叉树的最近公共祖先(递归、深搜)--Java版
  • 【人工智能】低代码-模版引擎
  • Hertz+Kitex快速上手开发
  • 线程池配置经验总结
  • 机器学习课程设计报告 —— 基于二分类的岩石与金属识别模型
  • 分词算法BPE详解和CLIP的应用
  • STM32F103_Bootloader程序开发02 - Bootloader程序架构与STM32F103ZET6的Flash内存规划
  • 通过Auto平台与VScode搭建远程开发环境(以Stable Diffusion Web UI为例)
  • Windows_Rider C#语言开发环境构建
  • Unity 打包程序全屏置顶无边框
  • GAMES104 Piccolo引擎搭建配置
  • 第 29 场 蓝桥·算法入门赛
  • 用service 和 SCAN实现sqlplus/jdbc连接Oracle 11g RAC时负载均衡
  • Jenkins 中获取构建触发用户的完整指南
  • 防火墙流量管理
  • uniapp+ts 多环境编译
  • Linux系统移植①:uboot概念