profile
Опубликовано 4 года назад по предмету Информатика от orelnds

помогите написать задачу на с++
Хулиганы Первый
и Второй очень не любят доску почёта своей школы. Поэтому они решили наглым
образом украсть оттуда школьную стенгазету, сделанную отличниками, и порвать на
части. Первый хулиган брал кусочек газеты и рвал его на 4 части, а Второй
хулиган – на 7. Однако очень скоро дежурные нашли N кусочков этой
газеты. Им стало интересно, все ли кусочки они нашли. Помогите им.

Дежурные так
старались, что упустить из виду они могли не более 2 кусочков.
Входные данные
          
Натуральное число N < 1018.

Выходные данные
          
Выведите
“Yes”, если все кусочки
найдены, и “No” – в
противном случае.

Пример
Вход
Выход

4      
Yes

67      
Yes

11      
No

  1. Ответ
    Ответ дан pashulke
    Вот, правда немного запутано - не стал задумываться об элегантности кода. Алгоритм, вроде как, нашёл (N-1/b). 

    #include <iostream>
    using namespace std;
    int main()
    {
    int n, b=3, x;
    start:
    setlocale (LC_ALL, "Russian");
    cout << "Введите число собранных кусочков: ";
    cin >> n;
    x=n-1;
    if (x%b==0)
    cout << "Yes" << endl;
    else
    cout << "No" << endl;
    goto start;
    system ("pause");
    }