![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
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
|
Гость ![]() |
НУ я думаю в задаче есть какой-то предел. А писать можно так -
Код a := 1; For i := 1 to {например} 100 do a:=a*2; Можно и Repeat-Until или While-do Сообщение отредактировано: VelarThind - 10.04.2005 21:23 |
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; |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 22:24 |