При решении задачи 16 урок 13.1
Primary tabs
При решении задачи 16 урок 13.1
Пользователь вводит целое положительное числоN, если оно не соответствует критериям (то есть не является положительным), выведете сообщение об ошибке, в противном случае выведите на экран все числа последовательности, не большие N, сформированной следующим образом:
8 10 3 12 14 3 16 18 3 20 22 3 и т.д.
-- то есть всё начинается с восьмерки, затем число увеличивается на 2, затем выводит тройка и ещё пара увеличенных на 2 чисел и т.д.
Не получается вывести цифру 3 как показано на примере.
var i,j,b,m,n, a:integer; begin writeln('vvedite chislo n:'); readln(n); if n <= 0 then // проверка что т больше или равно "0" write('oshibka') else i:=8; // задем переменную i j:=3; // задем переменную j write(i, ' '); while i <= n do // задаем цикл который работает пока i меньше n begin // тело цикла if ((i mod 3)=0) then // проверяем деление на 3 без остатка write(j, ' '); // при делении без остатка выводим j i:= i + 2; // шаг цикла write(i, ' '); // вывод циклической переменной write() end; readln(); end.
Получается только так.
vvedite chislo n:
22
8 10 12 3 14 16 18 3 20 22 24
- Log in to post comments
- 3632 reads
vedro-compota
Tue, 02/18/2020 - 01:01
Permalink
мысли есть, но
как понимаете, проблема в:
вы неправильно задаете условие, ну или думаете, что счет начинается с единицы в данном случае, а чем у нас равно значение неинициализированного целого числа?
-- это по поводу первой ошибки с тройкой.
Далее у вас зачем-то для порядкового номера числа и для самого очередного числа используется одна и та же переменная, а значит, таким образом запрограммировать принцип "каждый третий" через простое деление на 3 уже не получится - ведь считаете теперь вы не единицами, а двойками.
Также некоторые строки отформатированы неверно, но в целом наличие мысли тут чувствуется)
Но вы решаете задачу так, будто у вас вот это:
-- поставлено как обязательное условие решения задачи. Сначала я бы решил без такого ограничения.
_____________
матфак вгу и остальная классика =)
pakot
Tue, 02/18/2020 - 10:52
Permalink
Спасибо за подсказку.
Я понимал что условие у нас начинается с 8, моя ошибка что я думал что условием
он проверяет 3 строку.
С помощью подсказки вывел закономерность чисел и вывел результат.
pakot
Thu, 02/20/2020 - 10:01
Permalink
var i,j,n,m,a,b,c:integer;
Не могу правильно определить место для вывода цифры 3.
vedro-compota
Sun, 02/23/2020 - 13:10
Permalink
//выделяю 2-ю нечетные строки
какие такие нечетные строки?
_____________
матфак вгу и остальная классика =)
pakot
Tue, 02/25/2020 - 18:44
Permalink
я делением на 2 без остатка
я делением на 2 без остатка ,определяю нечетные строки и их вывожу.