• Вопрос по информатике:

    Программист на Северном полюсе работал за компьютером в варежках и поэтому мог набирать только 0 и 1, а клавиша 0 запала. Сможет ли он набрать число, состоящее только из единиц и при этом кратное заданному N? язык программирования любой

    Входные данные

    Программе дано число N (1 ≤ N ≤ 106).


    Выходные данные

    Вывести минимальное число, удволетворяющее требованию, или "NO" , если такого числа не существует.


    Примеры

    входные данные

    100

    выходные данные

    NO

    входные данные

    57

    выходные

    • Автор:

      brewster
  • Как до места доберусь, посмотрю
    • Отвечал:

      emmanuelyrkg
    #include < iostream >using namespace std;int main(){ unsigned long long int a, b=0; cin>>a; if (a%2==0) {cout<<"NO"; return 0;} for (unsigned long long int n=1; n<=1111111111111111111; n=n*10+1) { if (n%a==0){cout< ++b; } cout<<"NO"; return 0;}
    • Отвечал:

      snoopyo3rt
    Вот набросал, теперь уже должно работать точно. Иначе длинная арифметика понадобится.
    • Отвечал:

      armantiking
    #include using namespace std;int main(){ unsigned long long int a, b=0; cin>>a; if (a%2==0) {cout<<"NO"; return 0;} for (unsigned long long int n=1; n<=1111111111111111111; n=n*10+1) { if (n%a==0){cout << n; return 0;} ++b; } cout<<"NO"; return 0;}
    • Отвечал:

      shilohgway
    Ну как сейчас?
    • Отвечал:

      olliejdcl

    Язык: C++

    _________________________

    #include <iostream>

    using namespace std;

    int main(){

    unsigned long long int a, b=0;

    cin>>a;

    if (a%2==0) {cout<<"NO"; return 0;}

    for (unsigned long long int n=1; n<=1111111111111111111; n=n*10+1) {

     if (n%a==0){cout<<n; return 0;}

     ++b;

    }

    cout<<"NO";

    return 0;

    }

    _______________

    Работает, если максимальная длина вводимой программистом последовательности из единиц равна 19. Предполагаю, что этого достаточно.

    • Отвечал:

      vava26s1

    Ответов нет, но ты это испарвиш!