Определить делится ли длинное число на 1559 - QBasic

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

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

Дано число - это запись без пробелов всех натуральных чисел от 1 до 294. Или 123456789101112 ... 291292293294 Надо определить: делится ли это число на 1559? (да, делится)
Листинг программы
  1. REM
  2. REM 123456789101112 .... 294
  3. REM
  4. REM 1559
  5. REM
  6. DECLARE FUNCTION M! (n!)
  7. DECLARE FUNCTION Ss$ (n!)
  8. CLS
  9. DIM SHARED ns AS STRING
  10. FOR i = 1 TO 294
  11. ns = ns + Ss(i)
  12. NEXT
  13. n = 1559
  14. n2 = 1
  15. FOR i = 2 TO LEN(ns)
  16. n2 = 10 * n2 + M(i)
  17. n2 = n2 MOD n
  18. NEXT i
  19. IF n2 = 0 THEN PRINT "YES" ELSE PRINT "NO"
  20. END
  21. FUNCTION M (n)
  22. M = VAL(MID$(ns, n, 1))
  23. END FUNCTION
  24. FUNCTION Ss$ (n)
  25. Ss = LTRIM$(STR$(n))
  26. END FUNCTION

Решение задачи: «Определить делится ли длинное число на 1559»

textual
Листинг программы
  1. DIM i AS LONG, s AS LONG, n AS LONG
  2. n = 1559
  3. FOR i = 1 TO 294
  4.     s = (s * 10 ^ INT(LOG(i) / LOG(10) + 1) + i) MOD n
  5. NEXT i
  6. IF s THEN PRINT "No" ELSE PRINT "Yes"

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

  1. Задаем три переменные: i, s, n.
  2. Переменная n равна 1559.
  3. Делаем цикл от 1 до 294.
  4. Внутри цикла умножаем s на 10 в степени натурального логарифма числа i (с округлением до ближайшего целого числа) и добавляем к этому произведению само число i, взятое модулем n.
  5. Если результат (s) делится на n без остатка, то выводим No, иначе выводим Yes.

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


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

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

14   голосов , оценка 3.786 из 5

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

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

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