![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
cxt |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
На первую клетку он положил 1 зерно на 2 -2 на 3 -4 и т.д. на каждую следующую в 2 раза больше...
Не подскажете как это записать при помощи sqr(x) ? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Записать-то просто, вопрос - поместится ли значение в переменную? Ответ - нет, не поместится ;)
Кстати, это НЕ при помощи Sqr, т.к. Sqr - это квадрат числа, но никак не удвоенное число... |
VelarThind |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Ожидающие Сообщений: 15 Пол: Мужской Репутация: ![]() ![]() ![]() |
НУ я думаю в задаче есть какой-то предел. А писать можно так -
Код a := 1; For i := 1 to {например} 100 do a:=a*2; Можно и Repeat-Until или While-do Сообщение отредактировано: VelarThind - -------------------- http://magicrown.ru
<... image(s) deleted (Admin) ...> |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
VelarThind,
типы проставь. Какого типа у тебя A? |
cxt |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Предел есть нужно узнать сколько зерен нужно чтобы покрыть шахматную доску.
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
cxt, тебе сюда: FAQ: Длинночисленная арифметика, потому что тебе нужно знать с точностью до единиц, а пример приведенный VelarThind-ом просто не будет работать корректно при таких порядках.
Если же использовать real то можешь забыть о точности до единиц. Результат будет приблизительным. Выбирай. |
cxt |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код program xxx; uses crt; var a,i:integer; begin clrscr; writeln('Введите число (на доске 64 клетки)'); read(i); for i:=1 to i do a:=(a+2); a:=a-2; writeln('a,' зерен потребуются для заполнения доски'); end. Помогите сделать чтобы когда вводишь 1 выводилось тоже 1 ,а не 0 пытался зделать через if но не получилось Код if i=1 then begin writeln('i,' зерен потребуются для заполнения доски'); end; else writeln('a,' зерен потребуются для заполнения доски'); |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Читай, что я писал раньше:
Цитата(volvo @ 10.04.05 18:30) Записать-то просто, вопрос - поместится ли значение в переменную? Ответ - нет, не поместится ;) Цитата(volvo @ 11.04.05 18:13) cxt, тебе сюда: FAQ: Длинночисленная арифметика, потому что тебе нужно знать с точностью до единиц, а пример приведенный VelarThind-ом просто не будет работать корректно при таких порядках. Решил проверить? Проверил? Убедился? Я же говорил, что смотреть надо в сторону длинночисленной арифметики... Ибо даже LongInt (я уже не говорю про Integer) может хранить значение до 2 в степени 32, а тебе нужно до 2 в степени 64 (по числу клеток на доске) Так что работай с длинными числами... Кстати, вот это: Код { а кто тебе разрешил использовать I вообще лишено всякого смысла. Тебе нужно считать, сколько зерен потребуется чтобы закрыть всю доску, то есть нужно в любом случае пройти по всем 64-м клеткам, а не вводить число I... И умножать на 2, а не прибавлять двойку...и как переменную цикла и как конечное значение? } for i:=1 to i do a:=(a+2); a:=a-2; |
![]() ![]() |
![]() |
Текстовая версия | 4.09.2025 18:12 |