Я пытаюсь создать простой ВП, который находит наименьшее число, кратное всем числам 1-N. Метод, который я пытаюсь реализовать, представляет собой цикл while с вложенным циклом for. Для каждого входного числа (назовем его M), вложенный цикл for выполняет итерации по числам 1-N и проверяет, равны ли остальные M / 1, M / 2, ..., M / N нулю или нет. Если остаток равен нулю (т.е. мое число M делится на это число), код добавляет число 1
в массив в цикле for. Если он не делится, в массив добавляется 0
.
Затем, за пределами цикла for, все элементы массива умножаются. Если произведение равно 0
(что означает, что хотя бы одно из чисел 1-N не было множителем M), то цикл while продолжается до следующего входного числа M. Но если произведение не равно нулю, время while цикл останавливается, и индикатор должен показывать число M (которое кратно числам 1-N).
Я думал, что это довольно простая идея, но по какой-то причине мой код работает неправильно. Например, я попытался ввести M = 4 (указано в слоте divisible by numbers up to
) и ожидал выходной сигнал 6 в слоте number
(так как он делится на 1, 2 и 3). Но вывод просто читает 1
. Что я здесь не так делаю? Я приложил изображение моей блок-схемы, и я не уверен, как загрузить свой фактический ВП сюда, но я могу сделать это тоже, если потребуется, и кто-то знает, как. Я новичок в LabView, поэтому любая помощь приветствуется. Спасибо!
