Предмет: Информатика, автор: DazaiOsamu14

Вводится шестизначное натуральное число. Проверить, является ли оно счастливым (сумма первых трёх цифр равна сумме последних трёх цифр) и, если не является, вывести ближайшее счастливое число.


supernat83: на каком языке программиования?
DazaiOsamu14: Pascal

Ответы

Автор ответа: stglupa
1

#include <iostream>

#include <set>

using namespace std;

bool check(int k){

   int sum1 = 0, sum2 = 0;

   for(int i = 0; i < 3; i++){

       sum2 += (k % 10);

       k /= 10;

   }

   for(int i = 0; i < 3; i++){

       sum1 += (k % 10);

       k /= 10;

   }

   return (sum1 == sum2);

}

int main() {

   set <int> goodNums;

   for(int i = 1e5; i < int(1e6); i++)

       if(check(i))

           goodNums.insert(i);

   int n;

   cin >> n;

   cout << *lower_bound(goodNums.begin(), goodNums.end(), n);

}

Похожие вопросы
Предмет: Русский язык, автор: еаоам
Предмет: Русский язык, автор: Аноним