这个题如果你想对了方法,很简单,寥寥几行代码就可以实现。
如果想不对方法,就要很麻烦的去考虑进位,大小之类的。
我最开始写的代码有60多行,但是还有一个测试点没过!
第二次回过头来查缺补漏 的时候我突然想到为什么不换一种放大来做。
于是有了以下代码:
#include<iostream>
using namespace std;
int main() {
int a, b, c, d, e, f, m, n, k;
scanf_s("%d.%d.%d %d.%d.%d",&a,&b,&c,&d,&e,&f);
m = a * 17 * 29 + b * 29 + c;
n = d * 17 * 29 + e * 29 + f;
if (m>n)cout << '-';
k = n > m ? n - m : m - n;
cout << k / 29 / 17 << "." << k / 29 % 17 << "." << k % 29;
return 0;
}
代码很容易理解,感人感觉应该这是比较简单的方法了。