30/09/2018, 23:17
Hackerrank Challenge : Day 2 : MealCost
Mình đang theo khóa này của anh Đạt trên Youtube và cũng tự solve các challenge luôn.
Mình sẽ post lời giải của mình ở đây,ai có cách làm ngắn gọn hơn thì góp ý với nhé
Bài MealCost
#include <cmath>
#include <cstdio>
#include <iostream>
#include <vector>
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
double mealCost;
int tipPercent;
int taxPercent;
cin >> mealCost;
cin >> tipPercent;
cin >> taxPercent;
double totalCost = mealCost + (mealCost * tipPercent/100) + (mealCost * taxPercent/100);
int payment = mealCost + (mealCost * tipPercent/100) + (mealCost * taxPercent/100);
double soDu = totalCost - payment;
if (soDu >= 0.5){
payment += 1;
cout << "The total meal cost is "<< payment << " dollars." << endl;
}
else{
cout << "The total meal cost is "<< payment << " dollars." << endl;
}
return 0;
}
Bài liên quan
Bài này có một chỗ có thể cải tiến được.
Cám ơn anh tại em ko biết cái round() này (hehe tranh thủ ghi vào note luôn)
Lúc đầu em dùng double cho cái mealCost rồi sau đó em sài int cho cái totalCost (vì int nên là số lẻ kiểu 1.23456 thì nó đưa ra số 1) --> cheat Thì bị fail cái test case cuối (chắc nó là kiểu 1.9999 -> phải làm tròn lên 2 thì int nó lại về 1)
Em thiếu cái dấu chấm đằng sau dollars, mất nửa tiếng mới mò ra
Haha
Bởi vậy, nhiều người code giỏi lắm mà vô 30 days không biết sai lỗi ngố ngẩn nao