логические задачки на паскале |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
логические задачки на паскале |
webgirl |
Сообщение
#1
|
Гость |
вычислить следующую сумму и определить, при каком n произойдет переполнение строки
1^2+2^2+3^2+...+n^2 составить программу, кот. возводит число в куб, используя следующее свойство: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 (эту я вроде с грехом пополам сделала, но такой бред получился) сост программу для: (((((1?2)?3)?4)?5)?6)=35 заранее очень вам благодарна |
volvo |
Сообщение
#2
|
Гость |
webgirl
Цитата с грехом пополам сделала А почему бы не показать, что уже сделано? Кроме этого, может объясните, что значит вот эта фраза: Цитата при каком n произойдет переполнение строки При чем здесь строка? Сообщение отредактировано: volvo - |
EXE |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 47 Пол: Мужской Реальное имя: Диман Репутация: 0 |
Всегда готов помочь если б задание было написано полностью (т.е. как дается изначально) :yessss:
Второе задание прогрессию n чисел. Ща подумаю как это на Паскале-то накодить. Сообщение отредактировано: EXE - -------------------- Время есть сущность всех вещей.
|
volvo |
Сообщение
#4
|
Гость |
EXE
Второе задание решается элементарно: Код const n = 5; var i, start, s: integer; begin start := sqr(n) - pred(n); s := 0; for i := 1 to n do begin inc(s, start); inc(start, 2) end; writeln('result = ', s) end. Вообще-то вопрос был, как webgirl это сделала... |
EXE |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 47 Пол: Мужской Реальное имя: Диман Репутация: 0 |
Согласен ;)
-------------------- Время есть сущность всех вещей.
|
webgirl |
Сообщение
#6
|
Гость |
Цитата При чем здесь строка? вопрос по-другому (как я его понимаю): при каком н количество цифр в искомом значении (искомой сумме) превысит 255 символов. наверно так вот как я решала вторую Код program kub; uses crt; var a,i,j,k,s:integer; begin clrscr; writeln; writeln('vvedite chislo');readln(a); k:=0; for i:=1 to a do begin k := k+(i-1); end; i:= 1; for j := 1 to k do i:= i+2; for j:=a downto 1 do begin s := s + i; i:=i+2; end; writeln(s); readkey; end. но мой препод сказал, что можно решить намного проще и что это полный бред, хотя я мучалась с ней неделю. обидно, однако |
volvo |
Сообщение
#7
|
Гость |
webgirl
Насчет второй - вверху приведен текст, который, как видно, и хотел препод... Третью я решил ОЧЕНЬ нетривиально - боюсь, что она преподу тоже не понравится: Код type myFunc = function(a, b: integer):integer; function myAdd(a, b: integer): integer; far; begin myAdd := a + b end; function mySub(a, b: integer): integer; far; begin mySub := a - b end; function myMult(a, b: integer): integer; far; begin myMult := a * b end; function myDiv(a, b: integer): integer; far; begin myDiv := a div b end; const nums: array[1 .. 6] of integer = (1, 2, 3, 4, 5, 6); result = 35; type oper = (opPlus, opMinus, opMult, opDiv); const fs: array[oper] of myFunc = (myAdd, mySub, myMult, myDiv); ch: array[oper] of char = ('+', '-', '*', '/'); function f(a1, a2, a3, a4, a5: oper): integer; begin f := fs[a5](fs[a4](fs[a3](fs[a2](fs[a1](nums[1], nums[2]), nums[3]), nums[4]), nums[5]), nums[6]); end; var s1, s2, s3, s4, s5: oper; found: boolean; begin for s1 := opPlus to opDiv do for s2 := opPlus to opDiv do for s3 := opPlus to opDiv do for s4 := opPlus to opDiv do for s5 := opPlus to opDiv do If f(s1, s2, s3, s4, s5) = result then begin found := true; writeln('was found:'); writeln('1'+ch[s1]+'2'+ch[s2]+'3'+ch[s3]+'4'+ch[s4]+'5'+ch[s5]+'6'); end; if not found then writeln('was not found:') end. А над второй подумаю... |
Текстовая версия | 11.01.2025 22:59 |