ホグワーツ魔法魔術学校での変化(20ポイント)を探して1037
あなたはハリーポッターのファンであれば、あなたは魔法の世界は、独自の金融システムを持って知っているよ-ハグリッドがハリーに言ったとおり、「十七銀西西に対するガレオン(ガレオン)に対する(鎌)、二十から九ナース(クヌートは)非常に簡単にすることができますすることができます。「今、ハリーPが支払う価格与えられたと、彼は実際にお金を支払った、あなたタスクは、彼が変更を探してしなければならない計算するプログラムを書くことです。
入力フォーマット:
行フォーマットGalleon.Sickle.Knutにそれぞれ与えられた入力とP 1は、隙間によって分離されました。ここガレオンは、鎌が区間[0、17)のセクションである、クヌートは[0、29)セクションの整数[0、107]の整数の整数です。
出力フォーマット:
ハリー・フォーマットと同じ入力と出力とラインの変化を探しているべきです。彼は十分なお金を持っていなかった場合、出力は負でなければなりません。
サンプル入力1:
10.16.27 14.1.28
サンプル出力1:
3.2.1
入力サンプル2:
14.1.28 10.16.27
出力サンプル2:
-3.2.1
ここでは、溶液の2種類を記述します。
直接の減算を使用して、メンバーの重み:
#include <iostream>
using namespace std;
int main(){
int Galleon_1,Sickle_1,Knut_1,Galleon_2,Sickle_2,Knut_2,Galleon_3,Sickle_3,Knut_3;//1、应付 2、实付 3、应找 即输出
scanf("%d.%d.%d %d.%d.%d",&Galleon_1,&Sickle_1,&Knut_1,&Galleon_2,&Sickle_2,&Knut_2);
Knut_3 = Knut_2 - Knut_1;
while (Knut_3 < 0){
Knut_3 += 29;
Sickle_2--;
}
Sickle_3 = Sickle_2 - Sickle_1;
while (Sickle_3 < 0){
Sickle_3 += 17;
Galleon_2--;
}
Galleon_3 = Galleon_2 - Galleon_1;
if(Galleon_3 >= 0)
cout<<Galleon_3<<"."<<Sickle_3<<"."<<Knut_3<<endl;
else{
if(Knut_3 > 0){
Knut_3 -=29;
Sickle_3++;
}
if(Sickle_3 > 0){
Sickle_3 -= 17;
Galleon_3++;
}
cout<<"-"<<-1*Galleon_3<<"."<<-1*Sickle_3<<"."<<-1*Knut_3<<endl;
}
return 0;
}
まず、加算、そして変換
#include <iostream>
using namespace std;
int main(){
long long Galleon_1,Sickle_1,Knut_1,Galleon_2,Sickle_2,Knut_2,sum_1,sum_2,ans;//1、应付 2、实付
scanf("%lld.%lld.%lld %lld.%lld.%lld",&Galleon_1,&Sickle_1,&Knut_1,&Galleon_2,&Sickle_2,&Knut_2);
sum_1 = Galleon_1*29*17 + Sickle_1*29 + Knut_1;
sum_2 = Galleon_2*29*17 + Sickle_2*29 + Knut_2;
ans = sum_2 - sum_1;
if(ans > 0)
cout<<ans/(29*17)<<"."<<(ans%(29*17))/29<<"."<<(ans%(29*17))%29<<endl;
else
cout<<ans/(29*17)<<"."<<-(ans%(29*17))/29<<"."<<-(ans%(29*17))%29<<endl;
return 0;
}