试题 算法训练 二元函数

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  令二元函数f(x,y)=ax+by,a和b为整数,求一个表达式S的值。
  只有满足以下要求的表达式才是合法的:
  1.任意整数x是一个合法的表达式;
  2.如果A和B都是合法的表达式,则f(A,B)也是一个合法的表达式。
输入格式
  第一行两个数a和b;
  第二行一个字符串S表示要求的表达式。
输出格式
  一行一个数表示表达式S的值。
样例输入
1 2
f(1,f(1,-1))
样例输出
-1
数据规模和约定
  S的长度不超过50,运算过程中所有变量不会超出int的范围。

package 第十次模拟;import java.util.Scanner;
import java.util.Stack;public class 二元函数 {public static void main(String[] args) {Stack<Integer> num = new Stack<Integer>();Scanner sc = new Scanner(System.in);  int a  = sc.nextInt(); int b = sc.nextInt();sc.nextLine(); //用于消除第一个回车String str = sc.nextLine();  //输入字符串try {if(Integer.valueOf(str)>0){System.out.println(str);return;}} catch (Exception e) {// TODO: handle exception}char[] s = str.toCharArray();  //转换为数组操作for(int i =0 ;i < s.length;i++){if(s[i] == '-'){      //如果是  为负数i++ ;    //使索引指向负号下面一个元素i =  getNumber(num, s, i,false);}else if(Character.isDigit(s[i])){ //i =    getNumber(num, s, i,true);}if(s[i] == ')'){int x = num.pop();int y = num.pop();//x应该是在算式中是靠后的元素,所以应该互换位置num.push(count(a,b,y,x)) ;}}System.out.println(num.pop());}//计算一个f()的值 。public static int count(int a , int b , int x , int y){return a*x+b*y;}//获取一个完整的数值。  返回一个索引public static int  getNumber(Stack<Integer> stack,char[] s  ,int i,Boolean pos){int number = 0 ;for(;s[i] != ','&&s[i]!=')';i++){number = number * 10 +s[i]-'0';}if(!pos){stack.push(-number);  //对有符号的进行取反处理} else //入栈操作stack.push(number);if(s[i] == ' '){return i ;}return i ;}}

Java实现蓝桥杯VIP算法训练 二元函数相关推荐

  1. Java实现 蓝桥杯VIP 算法训练 sign函数

    试题 算法训练 sign函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0, ...

  2. Java实现蓝桥杯VIP 算法训练 sign函数

    问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0,则返回0:如果x<0,则返回-1. 输入格式 一行一个实数x. 输出格式 一行一 ...

  3. Java实现 蓝桥杯VIP 算法训练 无权最长链

    试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...

  4. Java实现 蓝桥杯VIP 算法训练 步与血(递推 || DFS)

    试题 算法训练 步与血 问题描述 有n*n的方格,其中有m个障碍,第i个障碍会消耗你p[i]点血.初始你有C点血,你需要从(1,1)到(n,n),并保证血量大于0,求最小步数. 输入格式 第一行3个整 ...

  5. Java实现 蓝桥杯VIP 算法训练 采油区域

    算法训练 采油区域 时间限制:2.0s 内存限制:512.0MB 提交此题 查看参考代码 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整 ...

  6. Java实现 蓝桥杯VIP 算法训练 删除多余括号

    算法训练 删除多余括号 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个含有括号的四则运算表达式,要求去掉可能含有的多余的括号,结果要保持原表达式中变量和运算符的相对位置不变,且 ...

  7. Java实现 蓝桥杯VIP 算法训练 JAM计数法

    题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文 ...

  8. Java实现 蓝桥杯VIP 算法训练 学做菜

    算法训练 学做菜 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上 ...

  9. Java实现 蓝桥杯VIP 算法训练 数对

    算法训练 数对 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,该程序从用户读入一个整数,然后列出所有的数对,每个数对的乘积即为该数. 输入格式:输入只有一行,即一个整数. 输出 ...

最新文章

  1. STM32外部中断与各通道对应关系
  2. 【线上圆桌整理 - 微软】后疫情时代现代化办公新趋势
  3. 旋转散点图_聚类分析的结果如何用散点图展示出来?
  4. fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
  5. 基于springboot的医院管理系统
  6. 技能 | 制作excel版学生成绩分析表
  7. 用正则表达式验证邮箱、密码、QQ号、手机号、身份证号
  8. rand和srand函数的用法
  9. 用Unity做一个小Demo入门Unity
  10. python中的list 冒号用法
  11. 查看Android应用内存的方法,Android获取App内存使用情况的方法
  12. 【笔记】播放器 - mpv - 使用、配置
  13. 中国小三多,是因为女人缺乏精神上的独立,男人缺乏人格上的体面。
  14. 华为p40pro升级鸿蒙系统好吗现在,2021年不得不说的,华为“鸿蒙系统”,你的手机升级了吗?...
  15. Tushare的使用感受
  16. 在台式电脑上完美安装Mac OS X操作系统的解决方案
  17. 程序员跳槽找工作避坑指南(2019最新新版)
  18. 直播泡沫?3.5万亿红人经济的未来在这几个字里
  19. USB电路接口线序及故障排除
  20. 梦幻维护测试服务器怎么看平转,梦幻2.9维护没有测试服 百服平转要开放了

热门文章

  1. Python_Task01:变量、运算符、数据类型及位运算
  2. VRRP——Master选举
  3. 小i机器人、招行、复旦等专家教你:AI时代服务创新与企业转型
  4. C++入门——实现见缝插针游戏
  5. 欧特克加入制裁,科技真的无国界吗?
  6. 什么是一方库、二方库、三方库
  7. Makefile详解(自己觉得重新看一次学了好多东西,红色字)
  8. [弱校联萌2016]2016弱校联盟十一专场10.2
  9. ePartsize 过程全记录
  10. python agg函数_dataframe转化(二)之 apply(),transform(),agg() 的用法和区别