李白街上走,提壶去买酒。遇店加一倍,见花喝一斗。N遇店和花,喝光壶中酒。借问此壶中,原有多少酒。

题目:李白街上走,提壶去买酒。遇店加一倍,见花喝一斗。N遇店和花,喝光壶中酒。借问此壶中,原有多少酒。

编程输入N,输出原来的酒数和遇店、遇花的过程。

例如:输入N=3,输出:原酒数为1斗;第1次遇店加一倍即加1斗,剩2斗;第1次遇花喝1斗,剩1斗;第2次遇店加一倍即加1斗,剩2斗;第1次遇花喝1斗,剩1斗。。。(此处原酒数只为举例,并不正确)

代码:

#include<iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    float a = 0;
    for (int i = 0;i < n;i++)
    {
        a = a + 1;
        a = a / 2;
    }
    cout << "原酒数为"<<a<<""<<endl;
    for (int i =1 ;i <= n;i++)
    {       
        cout << "" << i<< "次遇店加一倍" << "即加"<<a<<""<<",剩"<<a*2<<""<<endl;
        a = a * 2;
        cout << "" << i << "次遇花喝一斗" << "" << a-1.0<< "" << endl;
        a = a - 1;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/sqm724/p/12649875.html