Как вывести наименьший возможный делитель, используя цикл while? - PullRequest
0 голосов
/ 26 февраля 2019

Это назначение требует от меня вывода минимально возможного делителя с помощью цикла while.Я думаю, что у меня есть большая часть этого, но я не могу получить правильный результат, который я ищу.Я получаю 0 в качестве вывода, и я понимаю, что это остаток от мода, но я не знаю, как вывести что-то кроме 0.

#include <stdio.h>

int main(void)
{
    int divisor;
    int dividend;
    int lpd;
    int remainder;

    divisor=2;

    printf("Enter a number to divide: ");
    scanf("%d", &dividend);

    while(remainder!=0)
    {
        lpd=dividend%divisor;
        divisor++;
    }

    printf("%s %d","The lowest positive divisor is: ",lpd);
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019
#include <stdio.h>

int main() {
    int divisor = 2;
    int dividend;
    int remainder = 1; // Give this a non-zero value

    printf("Enter a number to divide: ");
    scanf("%d", &dividend);

    while (remainder != 0) {
        remainder = dividend % divisor; // Update remainder
        divisor++;
    }
    // Due to the way the loop is structured, divisor is off by one
    // Either subtract one or rewrite the loop a different way
    divisor--;

    printf("The lowest positive divisor is: %d\n", divisor);
    return 0;
}
0 голосов
/ 26 февраля 2019

Я думаю, ты хочешь этого ...

int main(void)
{
    int divisor;
    int dividend;
    int lpd;
    int remainder;

    divisor=2;

    printf("Enter a number to divide: ");
    scanf("%d", &dividend);

    while(dividend%divisor!=0)
    {
        divisor++;
    }

    printf("%s %d","The lowest positive divisor is: ",divisor);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...