#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; }
时间: 2024-12-16 00:36:06