1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Дано натуральное n. Получить ..., Проверить решение.
Такая вот задачка,последняя за курс Паскаля.Проверьте,пожалуйста,решение,как то ответ мне не очень нравится,там значение можно ввести только от 1 до 2х.Заранее спасибо!
Дано натуральное n. Получить (1+n^1)(2+n^2)...(n+n^n)
Вот как у меня получилось-
var n, i, p: integer; function power(c: integer): integer; var i,c2: integer; begin c2:=c; for i:=2 to c do c2:=c2*c; power:=c2; end; begin readln(n); p:=1; for i:=1 to n do p:=p*(i+power(i)); writeln(p); end.
У тебя не то считалось в Power. Надо не i возводить в степень i, а n возводить в степень i.
var n, i : Integer; p : longint;
function power(c: integer): longint; var i : Integer; c2 : longint; begin c2:=1; for i:=1 to c do c2:=c2*n; power:=c2; end;
begin readln(n); p:=1; for i:=1 to n do p:=p*(i+power(i)); writeln(p); end.
Цитата
ответ мне не очень нравится,там значение можно ввести только от 1 до 2х
Что ж ты хочешь, при такой функции-то. Мало того, что при вводе 4 у тебя последняя скобка = (4 + 44) = 260, так еще и предыдущая = 67, вторая = 18 и первая = 5. И сколько получится, если это всё перемножить? 1567800.
В Integer уже не помещается, разве что в LongInt. А при n = 5 произведение и в LongInt уже не помещается.