Задача на циклы

107
07 июня 2019, 03:20

Даны два двузначных числа А и В. Из этих чисел составили 2 четырехзначных числа: первое число получили путем написания сначала числа А, затем В. Для получения второго числа сначала записали число В, затем А. Найти числа А и В если известно , что первое четырехзначное число нацело делится на 99, а второе на 49. (Признаюсь не понял задачу вообще, что делать не представляю, нашел пример с паскаль Кода, переделал под С++ но не понимаю концепции, хотелось бы разобраться а не просто содрать)

int numberA;
int numberB;
for (numberA = 10; numberA < 99; numberA++)
{
    for (numberB = 10; numberB < 99; numberB++)
    {
        if(((((numberA * 100) + numberB) % 99) == 0) && (((numberB * 100 + numberA) % 49) == 0))
        {
            cout << "i = " << numberA << "j = " << numberB;
        }
    }
}
Answer 1

Числа представить как ab и cd, где a,b,c,d - некие цифры. Если их приписать друг к другу, то получится abcd и cdab. А abcd = ab * 100 + cd, вот программа и проверяет все возможные наборы на делимость.

Однако задачу можно решить устно. Если abcd делится на 99, то и cdab тоже делится (можно вспомнить признаки делимости на 9 и 11). Поэтому cdab содержит множители 7,7,9,11. ИХ произведение даёт 4851, а добавление ещё одного простого множителя вызывает нарушение условия (двузначные числа), поэтому решение единственное 48/51

Answer 2

Ну все же просто. У вас есть два двузначных числа - как из них составляется четырехзначное? Скажем, из 18 и 25 как получить 1825? 18 умножить на 100 и прибавить 25. А умножить на 100 и прибавить B...

Как проверить делимость числа N на M? Если остаток от деления N на M - т.е. N%M - равен 0 - значит, делится.

Вот и все. А дальше простой перебор всех возможных вариантов двух двузначных чисел с помощью двух вложенных циклов.

Так понятно?

READ ALSO
Как исправить ошибку std::out_of_range

Как исправить ошибку std::out_of_range

Перевожу string в intВсе работает, но затем кидает ошибку

128
Удаление из строки всего, кроме цифр

Удаление из строки всего, кроме цифр

Проблема в том, что в консоли ничего не выводится(Не уверен что сделал правильно)

110
Перегруженный оператор ==

Перегруженный оператор ==

Не получается использовать перегруженный оператор ==

109
WC_LINK центрирование текста по вертикали

WC_LINK центрирование текста по вертикали

Каким образом можно выровнять по вертикали контент окна с классом WC_LINK? Флаг SS_CENTER не помогает

139