题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1229

Problem Description

读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。

Input

测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。

Output

对每个测试用例输出1行,即A+B的值或者是-1。

Sample Input

1 2 1
11 21 1
108 8 2
36 64 3
0 0 1

Sample Output

3
-1
-1
100

解题思路:这道题的意思就是给你两个数以及K个位数,让你从右往左依次比较,如果K是小于这两个数中最大位数的,依次比较相同则输出-1,不同就计算两个数的和,如果K大于给定有效(最大)位数,则按实际的位数来比较,规则相同,简单AC。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
int main()
{ int A,B,K,m,n,h,g,y;
while(cin>>A>>B>>K&&(A+B)){
m=A,n=B,y=K,h=,g=;//分别记录输入的三个值,g是来记录两个数中位数最多的一个
while((y--)&&(n||m)){//判断K的同时判断是否超过位数,都为0就没必要再除下去了
if((m%)==(n%))++h;//看尾数相同的加1
m/=,n/=;//除去尾数
if(m||n)++g;//判断两个数的最大位数,
}
if(K>g)K=g;//保持比较的是有效位数,超过最大位数按实际有效数字来比较
if(h==K)cout<<"-1"<<endl;
else cout<<(A+B)<<endl;
}
return ;
}

最新文章

  1. [源码]Literacy 快速反射读写对象属性,字段
  2. iOS 删除、重新排序xcdatamodel
  3. light oj 1236 分解质因数
  4. python 学习笔记八 进程和线程 (进阶篇)
  5. python一套完整的事务操作
  6. jQ的自定义插件
  7. 初试weka数据挖掘
  8. 数据库设计的误区—&gt;CHAR与VARCHAR
  9. (MariaDB/MySQL)之DML(2):数据更新、删除
  10. 移动端h5实现复制功能
  11. Java 8 Documentation Download
  12. Go 编译原理实现计算器(测试驱动讲解)
  13. 使用Zabbix监控mysql的主从同步
  14. Spring Security(三十六):12. Spring MVC Test Integration
  15. rsync+inotify实现全网自动化数据备份-技术流ken
  16. Is there a TRY CATCH command in Bash
  17. vue axios 发送post请求,后端接收参数为null
  18. access-control-allow-origin
  19. 关于hibernate中的session与数据库连接关系以及getCurrentSession 与 openSession() 的区别
  20. php 四种基础排序

热门文章

  1. Centos5设置静态IP地址
  2. 《从0到1》读书笔记第一章&amp;quot;未来的挑战&amp;quot;第1记:把握潮流风向
  3. kill mediaserver脚本
  4. Selenium系列之--01 简介【转】
  5. MySQL运行计划不准确 -概述
  6. 高清接口芯片---gv7600、sii9135
  7. (21) java web的struts2框架的使用
  8. mysql 系统函数
  9. 织梦发布的文章如何批量替换文章&quot;来源&quot;和&quot;作者&quot;?
  10. 原生js写简单轮播图方式1-从左向右滑动