题目地址:
https://www.luogu.com.cn/problem/P1422
题目描述:
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在
150
150
150千瓦时及以下部分按每千瓦时
0.4463
0.4463
0.4463元执行,月用电量在
151
400
151~400
151 400千瓦时的部分按每千瓦时
0.4663
0.4663
0.4663元执行,月用电量在
401
401
401千瓦时及以上部分按每千瓦时
0.5663
0.5663
0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
输入格式:
输入一个整数,表示用电总计(单位以千瓦时计),不超过
10000
10000
10000。
输出格式:
输出一个数,保留到小数点后
1
1
1位(单位以元计,保留到小数点后
1
1
1位)。
代码如下:
#include <iostream>
using namespace std;
int main() {
int x;
double res = 0;
cin >> x;
int a = 0, b = 0, c = 0;
if (x <= 150) a = x;
else a = 150;
if (150 < x && x <= 400) b = x - 150;
else if (x > 400) b = 400 - 150;
if (x > 400) c = x - 400;
printf("%.1lf\n", a * 0.4463 + b * 0.4663 + c * 0.5663);
return 0;
}
时空复杂度 O ( 1 ) O(1) O(1)。