1275:小明A+B(2)

本文介绍了一个简单的程序设计问题,即判断两个超长整数相加后的个位数是否等于给定的个位数C。通过读取输入的两个整数A和B以及个位数C,该程序能够快速计算出结果并输出YES或NO。

1275:小明A+B(2)


Description


小明最近多位数加法运算学的很晕倒:(,幸好是做判断题,它只需要判断A+B最后一位数是否是C就可以了,可是他真的懒的厉害,这不让你写一个程序帮助他


Input


两个长度超过100位整数A B 一个个位数C


Output


正确与否,正确是YES,错误则输出NO。


Sample Input


999999999999999999999999999999999999999999999999999999999999999999999999

88888888888888888888888888888888888888888888888

7


Sample Output


YES


#include<iostream>
#include<string>
using namespace std;
int main()
{
    string A,B;
    int c,count;
    cin>>A>>B>>c;
    count=((A[A.length()-1]-'0')+(B[B.length()-1]-'0'))%10;
    if(count==c)
        cout<<"YES";
    else
        cout<<"NO";
    return 0;
}



### 波兰表达式(前缀表达式)的求值算法 波兰表达式是一种将运算符置于操作数之前的表达式表示方式。由于其结构特性,波兰表达式在求值时通常采用**递归**或**栈结构**来实现。与逆波兰表达式不同,波兰表达式从右向左扫描,操作数和运算符的处理顺序较为复杂,尤其在处理嵌套结构时,递归方法更为直观。 在实际编程中,可以借助**栈**来实现波兰表达式的求值。其核心思想是:**从右向左扫描表达式,遇到操作数则入栈,遇到运算符则弹出栈顶的两个操作数进行计算,并将结果重新压入栈中**。最终栈中仅剩一个元素,即为表达式的计算结果 [^2]。 ### 使用栈实现波兰表达式求值的算法步骤 1. 从右向左依次扫描波兰表达式的各个元素。 2. 若当前元素是数字,则将其转换为整数或浮点数后压入栈中。 3. 若当前元素是运算符,则从栈中弹出两个操作数,并按照“运算符作用于两个操作数”的顺序进行计算(注意顺序:先弹出的是右操作数)。 4. 将计算结果重新压入栈中。 5. 扫描结束后,栈顶元素即为最终结果 [^3]。 ### 示例代码(Python 实现) 以下是一个使用栈结构实现波兰表达式求值的 Python 示例: ```python def eval_prefix_expression(tokens): stack = [] for token in reversed(tokens): if token.isdigit() or (token[0] == '-' and token[1:].isdigit()): stack.append(int(token)) else: a = stack.pop() b = stack.pop() if token == '+': result = a + b elif token == '-': result = a - b elif token == '*': result = a * b elif token == '/': result = a / b stack.append(result) return stack[0] # 示例:前缀表达式 "+ - 5 3 4" 表示 ((5 - 3) + 4) tokens = ['+', '-', '5', '3', '4'] result = eval_prefix_expression(tokens) print(result) # 输出 6 ``` 在该实现中,`reversed(tokens)`用于从右向左扫描表达式,栈用于存储中间结果,最终栈顶元素即为表达式的值。 ### 注意事项 - 在处理负数时,需要判断字符串是否以负号开头且后续为数字。 - 运算符的顺序决定了操作数的顺序,例如在处理减法和除法时,先弹出的操作数是右操作数。 - 该方法适用于整数或浮点数的运算,若需处理更复杂的数据类型,可以扩展解析逻辑 [^1]。 ### 应用场景 波兰表达式在编译器设计、表达式树的构建、逻辑表达式的处理等领域有广泛应用。其优势在于无需括号即可明确运算顺序,适合程序解析和求值 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值