泡泡
2015-12-02 14:12
441 查看
泡泡 | ||||||
| ||||||
Description | ||||||
深海里面有无数泡泡,每个泡泡上都写着一个数字(0~9)。现在有一伙泡泡在一起组成了一个小队并且队头的泡泡上的数字不是0,我们可以把这几个泡泡组成的队伍看成一个数a。泡泡们觉得自己的队伍太小,决定准备从队尾依次加入n个新泡泡。但是泡泡们的老大是一个很挑剔的泡泡,他说如果某个泡泡想加入队伍,必须满足加入之后队伍组成的数可以被b整除,举例而言,如果某个泡泡(表示的数为x) 在加入队伍之前,现有的队伍表示的数为k,那么必须满足(k*10+x)% b=0 ,这个泡泡才能加入队伍。 现在这伙泡泡想知道在挑剔泡泡头的统治之下是否能在队尾成功加入n个新的泡泡。 | ||||||
Input | ||||||
多组测试数据,每组有3个数a, b, n。 (1 ≤ a, b, n ≤ 105). | ||||||
Output | ||||||
对于每组测试数据,如果可以在队尾加入n个新的泡泡,那么就输出最终的队伍所表示的数字,如果有多种情况就输出字典序最小的一个,如果不存在答案,输出-1。 | ||||||
Sample Input | ||||||
5 4 5 3 4 1 | ||||||
Sample Output | ||||||
520000 32 | ||||||
Author | ||||||
曾卓敏 @hrbust |
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; int main() { int a,b,n; while(~scanf("%d%d%d",&a,&b,&n)) { int sum=a; int i; if((b-(sum*10)%b)>9&&(sum*10)%b!=0)//这里需要判断是不是能整除 { printf("-1\n"); } else { if((sum*10)%b==0) { printf("%d",a); for(i=0;i<n;i++) { printf("0"); } } else { printf("%d%d",a,b-(sum*10)%b); for(i=1;i<n;i++) { printf("0"); } } printf("\n"); } } }
相关文章推荐
- gridview DataFormatString 属性设置须知
- http svn svn http
- Nim游戏博弈(收集完全版)
- 引入其他类
- ES5中新增的Array方法详细说明
- java调用微信企业号各种接口实例
- java 使用zxing 生成二维码
- centos 安装lua
- 文字在左上角
- 使用伪hash降低索引长度
- 搭建本地base、extra、epel、openstack源
- UISwitch控件的常用属性
- linux 信号
- android URI 和 UIL 图片加载问题
- 自动清理归档
- 使用AsyncTask实现图片加载
- 虚拟机环境linux网络配置
- VMware Horizon虚拟桌面工具箱2.0-审计,远程协助,控制台,电源
- DOM、JDOM、DOM4J的区别
- asp.net DataTable 进行表内排序