АД
Алексей Добровольский

Что тут неправильно? (ПАСКАЛЬ)

Вот моя задача:
uses
SysUtils;
var sum,k,i,n,m:integer;
begin
read(n,m);
K:=n*m;
if k=1 then write('0') else
if k=2 then write('4') else
if k<>0 then
begin
sum:=(k-2)*2;
sum:=sum+4;
writeln(sum);
end;
readln;
end.
Вот условия: Фигуры на экране графического редактора PAINT можно «выделить» , «скопировать» (полностью) , «вставить» , «перетащить» в другое место.
Какое наименьшее количество этих операций нужно выполнить, чтобы, имея на экране изображение единичного квадрата, построить еще и прямоугольник размером АхВ, разбитый на такие же квадраты (А-ширина, В – высота) ?
Вот оф. сайт: http://www.e-olimp.com/problems/18
Засчитал 10%. Почему?

ЛК
Людмила Ковалева

sum:=0; // не задано начальное значение переменной, можно задать в разделе описания переменных

Зоя Антоновская
Зоя Антоновская

Линию длиной А можно построить за ближайшую большую степень 2. Копируем до предпоследнего и копируем остаток.
Высота так-же. То есть вы сначала вычисляете количество копирований строк и столбцв, а потом их перемножаете, а не наоборот.
А у вас черте че считается.

АШ
Ахмед Шахвали

Потому что ты вообще непонятно что считаешь. Например, на прямоугольник 1х2 там явно нужно 6 операций (смотри картинку) , а твоя программа говорит 4.

Похожие вопросы
как написать в паскале. как написать в паскале
паскаль паскаль паскаль
подскажите что неправильно в коде на паскаль
почему программа в паскаль работает неправильно
почему программа в паскаль работает неправильно?
помогите! почемуто програма в паскаль считает неправильно, помогите найти ошибку.
Что тут неправильно?
Паскаль
Паскаль
Можно ли написать паскаль на паскале???