YZOJ P2697 画圆

YZOJ P2697 画圆

时间限制:1000MS      内存限制:131072KB

难度: \(5.1\)

  • 题目描述

在初中数学课上,\(Alkri\) 学习了圆的相关知识,他对与圆有关的问题更加感兴趣了。

\(Alkri\) 想在平面直角坐标系的第一象限中依次画 \(n\) 个与两坐标轴均相切的圆,其中,第 \(1\) 个圆的半径为 \(r\),之后的每个圆都比上一个圆大,且与上一个圆相切,也就是说,对所有整数 \(2 \leq i \leq n\),第 \(i\) 个圆的半径大于第 \(i-1\) 个圆的半径且与第 \(i-1\)个圆相切。

例如当 \(n=3\) 时,三个圆 \(C_1, C_2, C_3\) 如下图所示(由于 \(C_3\) 比较大,未画完整):

现在,\(Alkri\) 很好奇:第 \(n\) 个圆的半径 \(R\) 到底有多大?他知道 \(R\) 不一定是整数(真聪明!),并且可能非常大,所以只需要你保留 \(R\) 的整数部分(向下取整)的末尾 \(p\) 位数字即可。

  • 输入格式

输入仅一行,包含三个整数 \(n\),\(r\),\(p\),意义如题目所述。

  • 输出格式

输出仅一行一个整数,表示第 \(n\) 个圆的半径 \(R\) 的整数部分的末尾 \(p\) 位。注意当 \(R\) 的整数部分实际位数超过 \(p\) 时需要输满 \(p\) 位(即需要保留前导0),如果实际位数不满 \(p\) 位则不用补前导 0 。

  • 输入样例

  • 输出样例

  • 样例说明

第 \(10\) 个圆的半径整数部分为 \(38808989\),要求输出整数部分的末尾 \(5\) 位数,因此输出 \(08989\) 。注意保留前导 0 。

  • 数据规模与约定

 

 

 …

YZOJ P3314 计算器

YZOJ P3314 计算器

时间限制:1000MS      内存限制:524288KB

出题人:zzx

难度: \(3.6\)

  • 题目描述

你打算设计一个简单的计算器,支持计算简单的表达式。

为了简单起见,所有运算涉及的数均为整数(可以是负数),运算包含 +(加)、 -(减)、 *(乘)三种。计算时,按照先乘后加减的顺序计算,同级运算从左到右进行。表达式中可能有括号,应先计算括号内的结果,括号可能有嵌套。

形式化地,表达式的格式如下:(不含 <>

< 表达式 > :  < 运算数 1>< 运算符 1>< 运算数 2>< 运算符 2> \(\cdots\) < 运算符 \(k-1\)>< 运算数 \(k\)>( \(k\) 为正整数)

其中,运算数可以是整数,也可以是 (< 表达式 >) -(< 表达式 >) 的形式,即包含在括号内的表达式。运算符为 +-* 之一。保证任意两个 – 不相邻。

请你编写计算器的程序,计算给定的表达式的结果。

  • 输入格式

输入包含一个字符串 s,表示待计算的表达式,保证表达式符合格式,没有空格。

  • 输出格式

输出一个整数,表示计算结果。当计算结果不为 0 时,要求最高位非 0。

  • 样例输入

  • 样例输出

  • 数据规模与约定

因为是水题,所以没有具体的数据范围

\(1 \leq \left| s \right| \leq 10^4\)

 

 

 …