【九度OJ】题目1015:还是A+B 解题报告
2024-10-18 01:35:59
【九度OJ】题目1015:还是A+B 解题报告
标签(空格分隔): 九度OJ
http://ac.jobdu.com/problem.php?pid=1015
题目描述:
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
输入:
测试输入包含若干测试用例,每个测试用例占一行,格式为”A B K”,相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
输出:
对每个测试用例输出1行,即A+B的值或者是-1。
样例输入:
1 2 1
11 21 1
108 8 2
36 64 3
0 0 1
样例输出:
3
-1
-1
100
Ways
一遍AC的滋味太爽了哈哈哈~
这个题,我的第一感觉要用数位拆解,一位一位的比较,后面k位是否相同。但是这样挺麻烦的,因为a,b的数位可能不同,就要考虑是否数位已经用完等等问题,很麻烦。
但是转念一想,我直接求余不就行了吗,这样得到的就是后面几位的数字,而且即使后面的k位数字的领头数字为0也不要紧,因为放到int里自动去掉了。
这样实现起来就很简单了。
我用的是10的幂的形式,也可以写个循环不断的*10,得到求余所用的数字。
#include <stdio.h>
#include <math.h>
int main() {
int a, b, k;
while (scanf("%d%d", &a, &b) != EOF && a != 0 && b != 0) {
scanf("%d", &k);
int a_ = a % ((int) pow(10, k));
int b_ = b % ((int) pow(10, k));
if (a_ == b_) {
printf("-1\n");
} else {
printf("%d\n", a + b);
}
}
return 0;
}
Date
2017 年 3 月 5 日
最新文章
- ASP.NET MVC Authorization 自定义跳转
- IOS实现中间凸起圆形TabBar
- 调研Android平台开发环境的发展演变
- Android --http请求之HttpURLConnection
- 中国区常用ubuntu源
- (六)6.16 Neurons Networks linear decoders and its implements
- mac中的xampp配置xdebug
- 获取生日对应星座的PHP函数
- MySQL 内建函数
- Python数据增强(data augmentation)库--Augmentor 使用介绍
- spring:org.springframework.web.servlet.DispatcherServlet noHandlerFound解决方法
- X级联动
- C# 操作数据库常用的 SqlDbHelper
- com.mysql.jdbc.Driver 与 org.gjt.mm.mysql.Driver的区别
- java List<;Map<;String,Object>;
- [development][dpdk] dpdk-pmdinfo 工具的使用
- 8. String to Integer (整数的溢出)
- Zookeeper简单初应用
- 获取Spring项目配置文件元素
- 使用 intellij idea 进行远程调试