помогите написать задачу ** с++Хулиганы Первый и Второй очень не любят доску почёта своей...

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

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

Натуральное число N < 1018.

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

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

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

4
Yes

67
Yes

11
No


Информатика (20 баллов) | 84 просмотров
0

программу на c++

Дан 1 ответ
0 голосов

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

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

(1.5k баллов)