Необходимо найти квадрат трехзначного числа равный кубу суммы его цифр.
Все способы расчленения числа на цифры с последующими вычислениями дают неправильный результат.
Все программы выдают: 448! НО калькулятор показвает что, 448^2=200704, а (4+4+8)^3=4096.
Поиск использовал. Предложенная mj программа также выдает 448.
В чем цимус?
что за компилятор?
может, дело в банальном переполнении? ты же, наверное, integer используешь...
Ссылку на программы, которыми проверял, приведи, ибо моя программа выдает, что такого числа просто НЕТ:
var i, i1, i2, i3: longint;Что я делаю не так?
begin
for i1 := 1 to 9 do
for i2 := 0 to 9 do
for i3 := 0 to 9 do begin
i := 100*i1 + 10*i2 + i3;
if sqr(i) = (i1 + i2 + i3)*sqr(i1 + i2 + i3) then
writeln(i1, i2, i3)
end;
end.
2 volvo
У меня точно такая-же программа.
При использвании integer выдает 448. Тут явное переполнение. Если использовать longint, то не находит. Оно и понято, ведь квадрат трехзначного чиста растет быстрее куба суммы. Пределы, соответсвенно, ~1 000 000 и ~ 20 000.
Зачем задавать такие программы непонятно, но... в дебрях Паутины я нашел не один пример подобной задачи (кое где предлагали проверить уже введенное число).
Учителя будем пинать ногами.
Самому мне это не надо, конечно, но вот брат встрял поначалу капитально.
Всем спасибо. ©losed??
Пример mj