Найти количество чисел (от 1 до миллиона), среди цифр которых есть 3 - QBasic
Формулировка задачи:
Даны натуральные числа от 1 до 1 000 000.
Сосчитать, сколько чисел содержат в своем написании
цифру 3.
решение
если вы посмотрите программу, то в строке 12 увидите, вместо
цифры 3, цифру 7. (!!) и подумаете - "опечатка".
Нет. Всё верно. Цифра 3 при записанном условии даст неверный
результат. Почему?
надо отметить, что все цифры (кроме 0) равноценны и их количество
одинаково.
Так почему автор поставил 7?
Решение задачи: «Найти количество чисел (от 1 до миллиона), среди цифр которых есть 3»
textual
Листинг программы
DIM i AS LONG, n AS LONG FOR i = 1 TO 999999 IF INSTR(STR$(i), "3") THEN n = n + 1 NEXT i PRINT n
Объяснение кода листинга программы
В этом коде:
- DIM i AS LONG, n AS LONG — объявляются две переменные типа LONG (целочисленные) — i и n.
- FOR i = 1 TO 999999 — начинается цикл, который будет выполняться от i = 1 до i = 999999 (то есть перебирает все числа от 1 до 999999).
- IF INSTR(STR$(i),
3
) THEN n = n + 1 — проверяется, содержит ли строковое представление числа i (которое получается с помощью функции STR$) цифру 3. Если содержит, то к переменной n прибавляется 1. - NEXT i — выполняется следующая итерация цикла (переход к следующему числу).
- PRINT n — выводится значение переменной n (количество чисел, содержащих цифру 3).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д