Найти количество чисел (от 1 до миллиона), среди цифр которых есть 3 - QBasic

Узнай цену своей работы

Формулировка задачи:

Даны натуральные числа от 1 до 1 000 000. Сосчитать, сколько чисел содержат в своем написании цифру 3. решение если вы посмотрите программу, то в строке 12 увидите, вместо цифры 3, цифру 7. (!!) и подумаете - "опечатка". Нет. Всё верно. Цифра 3 при записанном условии даст неверный результат. Почему? надо отметить, что все цифры (кроме 0) равноценны и их количество одинаково.

Так почему автор поставил 7?

Листинг программы
  1. REM
  2. REM N = 737855
  3. REM
  4. CLS
  5. FOR x = 0 TO 9
  6. FOR y = 0 TO 9
  7. FOR z = 0 TO 9
  8. FOR u = 0 TO 9
  9. FOR v = 0 TO 9
  10. FOR w = 0 TO 9
  11. IF x * y * z * u * v * w MOD 7 = 0 THEN
  12. N = N + 1
  13. END IF
  14. NEXT w, v, u, z, y, x
  15. PRINT N - 1
  16. END

Решение задачи: «Найти количество чисел (от 1 до миллиона), среди цифр которых есть 3»

textual
Листинг программы
  1. DIM i AS LONG, n AS LONG
  2. FOR i = 1 TO 999999
  3.     IF INSTR(STR$(i), "3") THEN n = n + 1
  4. NEXT i
  5. PRINT n

Объяснение кода листинга программы

В этом коде:

  1. DIM i AS LONG, n AS LONG — объявляются две переменные типа LONG (целочисленные) — i и n.
  2. FOR i = 1 TO 999999 — начинается цикл, который будет выполняться от i = 1 до i = 999999 (то есть перебирает все числа от 1 до 999999).
  3. IF INSTR(STR$(i), 3) THEN n = n + 1 — проверяется, содержит ли строковое представление числа i (которое получается с помощью функции STR$) цифру 3. Если содержит, то к переменной n прибавляется 1.
  4. NEXT i — выполняется следующая итерация цикла (переход к следующему числу).
  5. PRINT n — выводится значение переменной n (количество чисел, содержащих цифру 3).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы