Найти шестизначное число по условию - QBasic
Формулировка задачи:
Найти шестизначное число такое, что
1. первая цифра этого числа 1
2. последняя цифра 7
3. если эту цифру (7) поставить перед 1, то получится
число в 5 раз больше искомого числа.
Программа нашла такое число, это 142857
Вопросы.
Этот вопрос у меня возник после решения задачи, вот он
1. Как можно было сократить программу (вычисления)?
2. Что можно было вычислить сразу и еще более
сократить вычисления?
Листинг программы
- REM
- REM 142857; 714285
- REM
- CLS
- FOR x = 0 TO 9
- FOR y = 0 TO 9
- FOR z = 0 TO 9
- FOR u = 0 TO 9
- c = 1000 * x + 100 * y + 10 * z + u
- d = 10 * c
- a = 100007 + d
- b = 710000 + c
- IF b = 5 * a THEN PRINT a; b
- NEXT u, z, y, x
- END
Решение задачи: «Найти шестизначное число по условию»
textual
Листинг программы
- DIM i AS LONG
- FOR i = 0 TO 9999 STEP 5
- IF 710000 + i = (100007 + i * 10) * 5 THEN PRINT 100007 + i * 10, 710000 + i
- NEXT i
Объяснение кода листинга программы
В этом коде используется цикл от 0 до 9999 с шагом 5. Для каждого значения переменной i выполняется проверка: является ли число 710000 + i равным (100007 + i 10) 5. Если это условие выполняется, то выводится сообщение с двумя числами: 100007 + i * 10 и 710000 + i. Список действий:
- Объявление переменной i типа LONG.
- Запуск цикла от 0 до 9999 с шагом 5.
- Проверка условия: является ли число 710000 + i равным (100007 + i 10) 5.
- Если условие выполняется, то выводится сообщение с двумя числами: 100007 + i * 10 и 710000 + i.
- Цикл продолжается до тех пор, пока значение переменной i не превысит 9999.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д