如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二 十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。 输入描述: 输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Galleon是[0, 107]]区间内的整数,Sickle是[0, 17)区间内的整数,Knut是[0, 29)区间内的整数。 输出描述: 在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该是负数。 输入例子: 10.16.27 14.1.28 输出例子: 3.2.1
#include
#include
using namespace std;
int main(){
string s1,s2;
cin>>s1>>s2;
int pos1,pos2,a1,a2,a3,b1,b2,b3;
int sum1,sum2,result,c1,c2,c3;
pos1=s1.find('.');
a1=stoi(s1.substr(0,pos1));
pos2=s1.find('.',pos1+1);
a2=stoi(s1.substr(pos1+1,pos2));
a3=stoi(s1.substr(pos2+1));
pos1=s2.find('.');
b1=stoi(s2.substr(0,pos1));
pos2=s2.find('.',pos1+1);
b2=stoi(s2.substr(pos1+1,pos2));
b3=stoi(s2.substr(pos2+1));
sum1=a1*17*29+a2*29+a3;
sum2=b1*17*29+b2*29+b3;
result=sum2-sum1;
c1=result/17/29;
c2=result/29;;
c3=result%29;
if(c2<0) c2*=-1;
if(c3<0) c3*=-1;
cout< return 0; }