Помогите написать задачу на
помогите написать задачу на с++
Хулиганы Первый

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

образом украсть оттуда школьную стенгазету, сделанную отличниками, и порвать на

части. Первый хулиган брал кусочек газеты и рвал его на 4 части, а Второй

хулиган – на 7. Однако очень скоро дежурные нашли N кусочков этой

газеты. Им стало интересно, все ли кусочки они нашли. Помогите им.


Дежурные так

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

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

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

Выведите

“Yes”, если все кусочки

найдены, и “No” – в

противном случае.

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

4
Yes


67
Yes


11
No

1
Поясни, сколько именно кусочков было? А то непонятно, почему при 11 должно выводить "NO", а при 4 "Yes"
то есть нашли 11 кусочков надо выяснить все ли кусочки они собрали
на входе число сколько кусочков собрали дежурные
Окей. Но сколько всего было кусочков?
так я откуда знаю. еслиб знал сюда бы не написал

Ответы и объяснения

2013-11-02T03:53:55+00:00
Вот, правда немного запутано - не стал задумываться об элегантности кода. Алгоритм, вроде как, нашёл (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");
}