@FreeCam

В каком случае программа выдает ложный результат?

Решал задачи и у меня возникла проблема при решении вот этой:
Условие задачи
Takahashi loves takoyaki - a ball-shaped snack. With a takoyaki machine, he can make at most X pieces of takoyaki at a time, taking T minutes regardless of the number of pieces to make. How long does it take to make N takoyaki?

Решил ее так:
#include <iostream>
using namespace std;
int main()
{
int x,n,t;
double t2;
cin » n » x » t;
t2 = (double)(n*t)/x;
t = (n*t)/x;
if(t < t2) {
cout « t+1 « endl;
} else {
cout « t « endl;
};
return 0;
}


1≤N,X,T≤1000
All values in input are integers.
В каких случаях будет неверный ответ?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
T = 4, X = 2, N = 1. Получаются 2 минуты, хотя надо четыре.
Надо не ceilDiv(nt, x), a t·ceilDiv(n,x).
Ну и с такими ограничениями ceilDiv(n, x) = (n + x - 1) / x, без дробной арифметики.
(Собирая всё в одно выражение, не забывайте скобки!)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы