pat B1022 D进制的A+B
思路:和不断模、除D,直到和为0(注意考虑和本身为0的情况)
心得:
1、int大小2的32次方减1,本题中加数的范围是2的30次方减一,故可在直接相加。
2、最开始忽略了特殊值 0
3、VS2010命令框闪退解决方法:在项目上右键->属性->配置属性->连接器->系统->子系统->子系统右边下拉窗口选择控制台(/SUBSYSTEM:CONSOLE)
AC代码:
#include<cstdio>
int main()
{
int a,b,d;
int out[32]={0};
scanf("%d%d%d",&a,&b,&d);
int s=a+b;
int i=0;
while(s!=0)
{
out[i]=s%d;
s=s/d;
i++;
}
if(i)
{
for(--i;i>=0;i--)
{
printf("%d",out[i]);
}
}
else printf("0");
}