PAT:1058. A+B in Hogwarts (20) AC

#include<stdio.h>
#include<stdlib.h>
int main()
{
  int a1,b1,c1,a2,b2,c2;              //【思维】168以内的数字可以用两位13进制数表示,大大简化代码
  scanf("%d.%d.%d",&a1,&b1,&c1);
  scanf("%d.%d.%d",&a2,&b2,&c2);
  int ra,rb,rc,tmp;                //ra,rb,rc存放结果的第一、二、三位置数字,tmp存当前的进位
  ra=rb=rc=tmp=0;
  rc=(c1+c2)%29;                  //【skill】通过不断的取余,取进位,加到下一位取余再进位……无需判断,指导处理到头
  tmp=(c1+c2)/29;
  rb=(b1+b2+tmp)%17;
  tmp=(b1+b2+tmp)/17;
  ra=a1+a2+tmp;
  printf("%d.%d.%d",ra,rb,rc);

  //system("pause");
  return 0;
}
原文地址:https://www.cnblogs.com/Evence/p/4296127.html