经典指数          
原因
2192
浏览数
0
收藏数
 

如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(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

     举报   纠错  
 
切换
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;

}

 
切换
撰写答案