2935:有未知数的表达式
总时间限制: 1000ms 内存限制: 65536kB
描述
用户输入一个字符串,形如 51+3x-4x2+x4的多项式.设x=3,编写程序,计算多项式的值。说明:
1)x的系数是整数,系数为1时,省略不写(见例子中的第4项)。
2)运算符只有+,-;
2)整个字符串不包含空格,多项式中的字母x皆为小写;
3)指数为0时,x省略(见例子第1项),前一项的指数小于后一项的指数,每一项的指数不重复,相邻的两项的指数有可能不连续(见例子中第3项和第4项)。
4)假设不会溢出。
5) 指数和系数都可能是多位
输入
若干个多项式表达式.字符串,不超过30位.
输出
多项式的值.int型数值
样例输入
2+x+3x^2
51+3x-4x2+x4
样例输出
32
105
提示
可以使用数学函数pow来求x的n次方.
来源
计算概论期末考试

问题链接:Bailian2935 有未知数的表达式
问题简述:(略)
问题分析:表达式求值问题,用递归子程序来解决。程序中用递归函数实现。
程序说明:(略)
参考链接:(略)
题记:表达式一般可以用递归子程序来处理。

AC的C++语言程序如下:

/* Bailian2935 有未知数的表达式 */#include <bits/stdc++.h>using namespace std;const int N = 30 + 1;
char s[N];int solve(int l, int r)
{for (int i = r; i >= l; i--) {if (s[i] == '+') return solve(l, i - 1) + solve(i + 1, r);if (s[i] == '-') return solve(l, i - 1) - solve(i + 1, r);}for (int i = l, a = 0; i <= r; i++) {if (!isdigit(s[i])) {if (i == l) break;else return a * solve(i, r);}a = a * 10 + s[i] - '0';if (i == r) return a;}for (int i = r; i >= l; i--)if (s[i] == '^')return pow(solve(l, i - 1), solve(i + 1, r));return l > r ? 0 : 3;
}int main()
{while (scanf("%s", s) != EOF)printf("%d\n", solve(0, strlen(s) - 1));return 0;
}

Bailian2935 有未知数的表达式【递归】相关推荐

  1. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  2. 文兄的算法题——算术表达式递归构造二叉树

    正在奋斗天津大学的文兄前两天在做算法的时候遇到了一道棘手的题目. 当然,以文兄的聪明才智都不好解决的,我看着也一脸懵逼.然而有万能的度娘,最后还是找到了解决方案.然而说的不是很详细,这里给出我和文兄对 ...

  3. 题解:补♂课第110场

    overview [强迫症系列]所有代码的main函数都只由for语句构成,其余部分也尽可能地用for语句缩短代码. A - 算术运算 #include<stdio.h> long lon ...

  4. Python--三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数...

    三元表达式 列表推导式 生成器表达式 递归与二分法 匿名函数 内置函数 一.三元表达式 name=input('姓名>>: ') res='True' if name == 'lee' e ...

  5. MySQL 递归 sql语句 WITH表达式实现

    MySQL 递归 sql语句 WITH AS 实现 前言: 这里一般来说需要编一个故事但是我懒 mysql递归CTE: 8.0版本以上才有WITH AS,8.0以下版本的话请绕行----->不是 ...

  6. Python基础(三)深浅拷贝、函数、文件处理、三元运算、递归、冒泡排序

    本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...

  7. 第18章_MySQL8其它新特性(窗口函数、公用表表达式)

    第18章_MySQL8其它新特性 第18章_MySQL8其它新特性 1. MySQL8新特性概述 1.1 MySQL8.0 新增特性 1.2 MySQL8.0移除的旧特性 2. 新特性1:窗口函数 2 ...

  8. Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  9. XUPT Linux Group 2020 2021 2022 note

    2020 1. 请试着解释其输出. int main(int argc , char *argv[]) {unsigned char a = 255;char ch = 128;a -= ch; pr ...

最新文章

  1. MyBatis常见面试题汇总
  2. Centos7解决图形界面卡死问题
  3. shell正则表达二
  4. Cannot evaluate tensor using 'eval' No default session is registered错误问题的解决
  5. C++类模板(二)用类模板实现可变长数组
  6. 【面试题】Ajax的原理和优缺点总结
  7. 国际域名和境外域名能否提交备案
  8. php多进程mysql更新不了_php MYSQL 数据更新修改不了
  9. 配置postfix+dovecot+mysql+postfixadmin+squirrelmail 邮件系统笔记
  10. java 运行时类型_Java基础之RTTI 运行时类型识别
  11. php mysql 执行sql文件_PHP执行SQL文件并将SQL文件导入到数据库_PHP
  12. Spring项目启动加载xml配置文件替换数据库提高响应速度
  13. C++ 输入有空格一行的接收
  14. 小程序 | 打开CMS时出现了404报错?
  15. python按照日期筛选数据_Pandas日期数据处理:如何按日期筛选、显示及统计数据...
  16. Salt-Minion配置文件详解
  17. LightOJ 1353 - Paths in a Tree DFS
  18. html{-webkit-text-size-adjust:none;}(取消浏览器最小字体限制)
  19. 为什么我们放弃了微服务?
  20. A/D转换器主要性能参数

热门文章

  1. [短评]什么是大教堂与集市(和谐)
  2. xlc mysql_mysql – 用于存储产品信息的noSQL?
  3. 机器学习ai选股_机器学习技术能够有效用于选股吗?(下)
  4. linux 文件句柄 sock,linux socket句柄
  5. Java依赖多个版本,java – Gradle中的多个依赖项版本
  6. python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...
  7. 考研英语一和英语二的区别
  8. FatFs源码剖析(转)
  9. Django signal
  10. 今天我们谈一下HTML标签中的map标签的用法和使用场景