【c++】サイダーを飲んで、1本のサイダーは1元で、2つの空き瓶は1本のサイダーを交換することができて、20元をあげて、どれだけのサイダーを飲むことができますか.プログラミング実装.
804 ワード
まず2つの空き瓶を1本の飲み物に交換します.じゃ、ラウンドごとに飲み終わったら交換します.
コードを参照してください.
構想はコードに現れ、コードが話せると信じている.
コードを参照してください.
// ,1 1 ,2 , 20 , 。
#include
#include
int main()
{
int money = 20;
int sum = money;
int temp = 20;
int yushu = 0;
int i = 0;
int arr[10] = { 0 };//
while (1)
{
++i;
temp = temp / 2;//10,5,2,1
yushu = temp % 2;//0,0,1,0
arr[i] = yushu;
sum = temp + sum;//30,35,37,38,39
if (1 == temp)// ,
{
yushu = 0;
for (i = 0; i < 10; ++i)
{
yushu += arr[i];//
}
yushu %= 10;
temp = (temp + yushu) / 2;//
sum = sum + temp;//
break;
}
}
printf("%d", sum);
system("pause");
return 0;
}
構想はコードに現れ、コードが話せると信じている.