李白喝酒问题
? 例子如實:
李白在街上走,提著酒壺取買酒,遇店加一倍,見花和一斗,店不鄰開,花不雙長,三遇店和花,喝光壺中酒,
計算壺中多少酒?
這道題說明:在路上一共遇到三次店和花,并且在最后一次遇到花的時候把酒喝完了,
那么我們逆向思考,在第三次遇到花的時候,壺中的酒數量應該是0+1=1;第三次遇到店的時候,壺中酒因該是1/2=0.5;
在第二次遇到花的時候,壺中酒應該是0.5+1,第二次遇到店的時候,壺中酒應該是1.5/2=0.75; ?第一次遇到花的時候,壺中酒應該是1+0.75,
第一次遇到店的時候,壺中酒應該是1.75/2=0。85。。。。
那么怎么編程呢:
我們倒著編程,假設一開始酒數是0,在路上一共遇到六次店和花,奇數遇到花,偶數遇到店,
這樣進行判斷,當到達六次的時候就可以得到酒的數目了;
#include<iostream> #include<stdio.h> #include<string>using namespace std; int main() {double jsum = 0;for (int i = 0; i < 6; i++){if (i % 2 == 0)jsum += 1;elsejsum /= 2;}cout << "酒 的數目" << jsum << endl;system("pause");return 0; }
總結
- 上一篇: 用宏定义实现函数值互换
- 下一篇: 三个数排序问题