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

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

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

Дано число - это запись без пробелов всех натуральных чисел от 1 до 294. Или 123456789101112 ... 291292293294 Надо определить: делится ли это число на 1559? (да, делится)

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

textual
Листинг программы
DIM i AS LONG, s AS LONG, n AS LONG
n = 1559
FOR i = 1 TO 294
    s = (s * 10 ^ INT(LOG(i) / LOG(10) + 1) + i) MOD n
NEXT i
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
Похожие ответы