春节促销
某商城春节感恩回馈。
活动一:消费金额满999元打9折,满1888元打8.5折,满2777元打8折。
活动二:消费金额每满200元立减10元。
两个活动可同时参与,请你帮忙设计个程序计算下可能的最小付款金额。
输入格式
一行一个正整数表示消费金额。
输出格式
一行一个正整数表示付款金额(向下取整只保留整数部分)。
样例输入 #1
3000
样例输出 #1
2250
说明/提示
对于20%的数据:
0<n<200
对于50%的数据:
0<n<900
对于100%的数据:
0<n≦≦3000
#include <iostream>
using namespace std;
int main() {
int amount;
cin >> amount;
int s = amount;
if (amount >= 2777) s *= 0.8;
else if (amount >= 1888) s *= 0.85;
else if (amount >= 999) s *= 0.9;
s -= (amount / 200) * 10;
cout << s;
return 0;
}
#include <iostream>
#include <cmath>
int main() {
int amount;
std::cin >> amount;
double discount = 1.0;
if (amount >= 2777) {
discount = 0.8;
} else if (amount >= 1888) {
discount = 0.85;
} else if (amount >= 999) {
discount = 0.9;
}
int payment = std::floor(amount * discount);
while (amount >= 200) {
payment -= 10;
amount -= 200;
}
std::cout << payment << std::endl;
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: