ну, я попробовал это
это не работает
с Ceil в C ++
int n, m, a;
double r1, r2;
cin >> n;
cin >> m;
cin >> a;
r1 = (n/a);
r2 = (m/a);
cout << (ceil(r1)*ceil(r2));
операция n / a должна вернуть значение double в случае n = 3 и a = 2, но это не так
также..
операция m / a должна возвращать удвоение в случае m = 3 и a = 2, но это не так
поскольку n
, m
, а также a
все типа int
, n/a
а также m/a
также будут целыми числами, что означает, что 3/2 будет равен 1. Изменение n
а также m
печатать double
должен решить эту проблему.
Здесь проблема,
n/a
а также m/a
будет вычислять целые числа, так как n, m, a являются целыми числами, а целое число будет сохранено в double, чтобы избежать этого, вы можете набрать приведение вот так
r1=(double)n/a;
r2=(double)n/a;
Или просто измените тип данных с int на double,
возможно (это поможет вам # А. Театральная площадь)