李白喝酒问题
? 例子如實(shí):
李白在街上走,提著酒壺取買酒,遇店加一倍,見花和一斗,店不鄰開,花不雙長(zhǎng),三遇店和花,喝光壺中酒,
計(jì)算壺中多少酒?
這道題說明:在路上一共遇到三次店和花,并且在最后一次遇到花的時(shí)候把酒喝完了,
那么我們逆向思考,在第三次遇到花的時(shí)候,壺中的酒數(shù)量應(yīng)該是0+1=1;第三次遇到店的時(shí)候,壺中酒因該是1/2=0.5;
在第二次遇到花的時(shí)候,壺中酒應(yīng)該是0.5+1,第二次遇到店的時(shí)候,壺中酒應(yīng)該是1.5/2=0.75; ?第一次遇到花的時(shí)候,壺中酒應(yīng)該是1+0.75,
第一次遇到店的時(shí)候,壺中酒應(yīng)該是1.75/2=0。85。。。。
那么怎么編程呢:
我們倒著編程,假設(shè)一開始酒數(shù)是0,在路上一共遇到六次店和花,奇數(shù)遇到花,偶數(shù)遇到店,
這樣進(jìn)行判斷,當(dāng)?shù)竭_(dá)六次的時(shí)候就可以得到酒的數(shù)目了;
#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 << "酒 的數(shù)目" << jsum << endl;system("pause");return 0; }
總結(jié)
- 上一篇: 用宏定义实现函数值互换
- 下一篇: 三个数排序问题