#include <iostream> #include <iomanip> using namespace std; void generate(int N) { const int maxi = 18; // Ограничены long long if (N < 4 || N > maxi) { cout << "No solutions"; return; } int rems[maxi]; // Массив остатков от 3, 30, 300 и т.д. unsigned long long ten = 1; for(int i = 0; i < maxi; ++i) { rems[i] = (ten*3ll)%7ll; ten *= 10ll; } char s[maxi+1] = { 0 }; for(int i = 0; i < maxi; ++i) s[i] = '4'; unsigned long long rem = atoll(s+maxi-N)%7; for(bool a = false;;) { if (rem == 0) cout << (s+maxi-N) << endl; int j = 0; if (!(a = !a)) { for(++j;s[maxi-2-j] == '4';++j); if (j == N-2) break; } s[maxi-3-j] = (s[maxi-3-j] == '4') ? '7' : '4'; int sign = (s[maxi-3-j] == '4') ? -1 : 1; rem = (rem + 7 + sign*rems[j+2])%7; } } int main(int argc, const char * argv[]) { generate(15); }
Standard input is empty
444444444447444 444444444474744 444444444747744 444444447744444 444444447477744 444444477444744 444444477774444 444444474777744 444444474477444 444444774447744 444444774777444 444444777744744 444444777444444 444444747477444 444444747777744 444444744747444 444444744774744 444444744474444 444447744477744 444447744744444 444447747747444 444447747774744 444447747474444 444447777447744 444447777777444 444447774774444 444447774444744 444447474474444 444447474774744 444447474747444 444447477777744 444447477477444 444447447447444 444447447474744 444447447747744 444447444744744 444447444444444 444477444477444 444477444777744 444477447774444 444477447444744 444477477447444 444477477474744 444477477747744 444477474744744 444477474444444 444477774477744 444477774744444 444477777747444 444477777774744 444477777474444 444477747444444 444477747744744 444477744777444 444477744447744 444474744444444 444474744744744 444474747747744 444474747474744 444474747447444 444474777477444 444474777777744 444474774747444 444474774774744 444474774474444 444474474447444 444474474474744 444474474747744 444474477744444 444474477477744 444474447447744 444474447777444 444474444774444 444474444444744 444774444474444 444774444774744 444774444747444 444774447777744 444774447477444 444774477444444 444774477744744 444774474777444 444774474447744 444774774447444 444774774474744 444774774747744 444774777744444 444774777477744 444774747447744 444774747777444 444774744774444 444774744444744 444777744477444 444777744777744 444777747774444 444777747444744 444777777447444 444777777474744 444777777747744 444777774744744 444777774444444 444777474444744 444777474774444 444777477777444 444777477447744 444777447474444 444777447774744 444777447747444 444777444744444 444777444477744 444747444444744 444747444774444 444747447777444 444747447447744 444747477477744 444747477744444 444747474747744 444747474474744 444747474447444 444747774474444 444747774774744 444747774747444 444747777777744 444747777477444 444747747447444 444747747474744 444747747747744 444747744744744 444747744444444 444744744447444 444744744474744 444744744747744 444744747744444 444744747477744 444744777444744 444744777774444 444744774777744 444744774477444 444744474477744 444744474744444 444744477747444 444744477774744 444744477474444 444744447444444 444744447744744 444744444777444 444744444447744 447744444444444 447744444744744 447744447747744 447744447474744 447744447447444 447744477477444 447744477777744 447744474747444 447744474774744 447744474474444 447744774444744 447744774774444 447744777777444 447744777447744 447744747474444 447744747774744 447744747747444 447744744744444 447744744477744 447747744447444 447747744474744 447747744747744 447747747744444 447747747477744 447747777444744 447747777774444 447747774777744 447747774477444 447747474477744 447747474744444 447747477747444 447747477774744 447747477474444 447747447444444 447747447744744 447747444777444 447747444447744 447777444474444 447777444774744 447777444747444 447777447777744 447777447477444 447777477444444 447777477744744 447777474777444 447777474447744 447777774447444 447777774474744 447777774747744 447777777744444 447777777477744 447777747447744 447777747777444 447777744774444 447777744444744 447774744447744 447774744777444 447774747744744 447774747444444 447774777474444 447774777774744 447774777747444 447774774744444 447774774477744 447774474444444 447774474744744 447774477747744 447774477474744 447774477447444 447774447444744 447774447774444 447774444777744 447774444477444 447474444447744 447474444777444 447474447744744 447474447444444 447474477474444 447474477774744 447474477747444 447474474744444 447474474477744 447474774477444 447474774777744 447474777774444 447474777444744 447474747477744 447474747744444 447474744747744 447474744474744 447474744447444 447477744444444 447477744744744 447477747747744 447477747474744 447477747447444 447477777477444 447477777777744 447477774747444 447477774774744 447477774474444 447477474447444 447477474474744 447477474747744 447477477744444 447477477477744 447477447447744 447477447777444 447477444774444 447477444444744 447447444447444 447447444474744 447447444747744 447447447744444 447447447477744 447447477444744 447447477774444 447447474777744 447447474477444 447447774447744 447447774777444 447447777744744 447447777444444 447447747477444 447447747777744 447447744747444 447447744774744 447447744474444 447444744477444 447444744777744 447444747774444 447444747444744 447444777447444 447444777474744 447444777747744 447444774744744 447444774444444 447444474444744 447444474774444 447444477777444 447444477447744 447444447474444 447444447774744 447444447747444 447444444744444 447444444477744 477444444444744 477444444774444 477444447777444 477444447447744 477444477477744 477444477744444 477444474747744 477444474474744 477444474447444 477444774474444 477444774774744 477444774747444 477444777777744 477444777477444 477444747447444 477444747474744 477444747747744 477444744744744 477444744444444 477447744447744 477447744777444 477447747744744 477447747444444 477447777474444 477447777774744 477447777747444 477447774744444 477447774477744 477447474444444 477447474744744 477447477747744 477447477474744 477447477447444 477447447444744 477447447774444 477447444777744 477447444477444 477477444447444 477477444474744 477477444747744 477477447744444 477477447477744 477477477444744 477477477774444 477477474777744 477477474477444 477477774447744 477477774777444 477477777744744 477477777444444 477477747477444 477477747777744 477477744747444 477477744774744 477477744474444 477474744477444 477474744777744 477474747774444 477474747444744 477474777447444 477474777474744 477474777747744 477474774744744 477474774444444 477474474444744 477474474774444 477474477777444 477474477447744 477474447474444 477474447774744 477474447747444 477474444744444 477474444477744 477774444444444 477774444744744 477774447747744 477774447474744 477774447447444 477774477477444 477774477777744 477774474747444 477774474774744 477774474474444 477774774444744 477774774774444 477774777777444 477774777447744 477774747474444 477774747774744 477774747747444 477774744744444 477774744477744 477777744447444 477777744474744 477777744747744 477777747744444 477777747477744 477777777444744 477777777774444 477777774777744 477777774477444 477777474477744 477777474744444 477777477747444 477777477774744 477777477474444 477777447444444 477777447744744 477777444777444 477777444447744 477747444477744 477747444744444 477747447747444 477747447774744 477747447474444 477747477447744 477747477777444 477747474774444 477747474444744 477747774444444 477747774744744 477747777747744 477747777474744 477747777447444 477747747444744 477747747774444 477747744777744 477747744477444 477744744444744 477744744774444 477744747777444 477744747447744 477744777477744 477744777744444 477744774747744 477744774474744 477744774447444 477744474447744 477744474777444 477744477744744 477744477444444 477744447477444 477744447777744 477744444747444 477744444774744 477744444474444 474744444477744 474744444744444 474744447747444 474744447774744 474744447474444 474744477447744 474744477777444 474744474774444 474744474444744 474744774444444 474744774744744 474744777747744 474744777474744 474744777447444 474744747444744 474744747774444 474744744777744 474744744477444 474747744474444 474747744774744 474747744747444 474747747777744 474747747477444 474747777444444 474747777744744 474747774777444 474747774447744 474747474477444 474747474777744 474747477774444 474747477444744 474747447477744 474747447744444 474747444747744 474747444474744 474747444447444 474777444444744 474777444774444 474777447777444 474777447447744 474777477477744 474777477744444 474777474747744 474777474474744 474777474447444 474777774474444 474777774774744 474777774747444 474777777777744 474777777477444 474777747447444 474777747474744 474777747747744 474777744744744 474777744444444 474774744447444 474774744474744 474774744747744 474774747744444 474774747477744 474774777444744 474774777774444 474774774777744 474774774477444 474774474477744 474774474744444 474774477747444 474774477774744 474774477474444 474774447444444 474774447744744 474774444777444 474774444447744 474474444447444 474474444474744 474474444747744 474474447744444 474474447477744 474474477444744 474474477774444 474474474777744 474474474477444 474474774447744 474474774777444 474474777744744 474474777444444 474474747477444 474474747777744 474474744747444 474474744774744 474474744474444 474477744477744 474477744744444 474477747747444 474477747774744 474477747474444 474477777447744 474477777777444 474477774774444 474477774444744 474477474474444 474477474774744 474477474747444 474477477777744 474477477477444 474477447447444 474477447474744 474477447747744 474477444744744 474477444444444 474447444474444 474447444774744 474447444747444 474447447777744 474447447477444 474447477444444 474447477744744 474447474777444 474447474447744 474447774447444 474447774474744 474447774747744 474447777744444 474447777477744 474447747447744 474447747777444 474447744774444 474447744444744 474444744447744 474444744777444 474444747744744 474444747444444 474444777474444 474444777774744 474444777747444 474444774744444 474444774477744 474444474444444 474444474744744 474444477747744 474444477474744 474444477447444 474444447444744 474444447774444 474444444777744 474444444477444 774444444447744 774444444777444 774444447744744 774444447444444 774444477474444 774444477774744 774444477747444 774444474744444 774444474477744 774444774477444 774444774777744 774444777774444 774444777444744 774444747477744 774444747744444 774444744747744 774444744474744 774444744447444 774447744444444 774447744744744 774447747747744 774447747474744 774447747447444 774447777477444 774447777777744 774447774747444 774447774774744 774447774474444 774447474447444 774447474474744 774447474747744 774447477744444 774447477477744 774447447447744 774447447777444 774447444774444 774447444444744 774477444477744 774477444744444 774477447747444 774477447774744 774477447474444 774477477447744 774477477777444 774477474774444 774477474444744 774477774444444 774477774744744 774477777747744 774477777474744 774477777447444 774477747444744 774477747774444 774477744777744 774477744477444 774474744444744 774474744774444 774474747777444 774474747447744 774474777477744 774474777744444 774474774747744 774474774474744 774474774447444 774474474447744 774474474777444 774474477744744 774474477444444 774474447477444 774474447777744 774474444747444 774474444774744 774474444474444 774774444447444 774774444474744 774774444747744 774774447744444 774774447477744 774774477444744 774774477774444 774774474777744 774774474477444 774774774447744 774774774777444 774774777744744 774774777444444 774774747477444 774774747777744 774774744747444 774774744774744 774774744474444 774777744477744 774777744744444 774777747747444 774777747774744 774777747474444 774777777447744 774777777777444 774777774774444 774777774444744 774777474474444 774777474774744 774777474747444 774777477777744 774777477477444 774777447447444 774777447474744 774777447747744 774777444744744 774777444444444 774747444474444 774747444774744 774747444747444 774747447777744 774747447477444 774747477444444 774747477744744 774747474777444 774747474447744 774747774447444 774747774474744 774747774747744 774747777744444 774747777477744 774747747447744 774747747777444 774747744774444 774747744444744 774744744447744 774744744777444 774744747744744 774744747444444 774744777474444 774744777774744 774744777747444 774744774744444 774744774477744 774744474444444 774744474744744 774744477747744 774744477474744 774744477447444 774744447444744 774744447774444 774744444777744 774744444477444 777744444444744 777744444774444 777744447777444 777744447447744 777744477477744 777744477744444 777744474747744 777744474474744 777744474447444 777744774474444 777744774774744 777744774747444 777744777777744 777744777477444 777744747447444 777744747474744 777744747747744 777744744744744 777744744444444 777747744447744 777747744777444 777747747744744 777747747444444 777747777474444 777747777774744 777747777747444 777747774744444 777747774477744 777747474444444 777747474744744 777747477747744 777747477474744 777747477447444 777747447444744 777747447774444 777747444777744 777747444477444 777777444447444 777777444474744 777777444747744 777777447744444 777777447477744 777777477444744 777777477774444 777777474777744 777777474477444 777777774447744 777777774777444 777777777744744 777777777444444 777777747477444 777777747777744 777777744747444 777777744774744 777777744474444 777774744477444 777774744777744 777774747774444 777774747444744 777774777447444 777774777474744 777774777747744 777774774744744 777774774444444 777774474444744 777774474774444 777774477777444 777774477447744 777774447474444 777774447774744 777774447747444 777774444744444 777774444477744 777474444477444 777474444777744 777474447774444 777474447444744 777474477447444 777474477474744 777474477747744 777474474744744 777474474444444 777474774477744 777474774744444 777474777747444 777474777774744 777474777474444 777474747444444 777474747744744 777474744777444 777474744447744 777477744444744 777477744774444 777477747777444 777477747447744 777477777477744 777477777744444 777477774747744 777477774474744 777477774447444 777477474447744 777477474777444 777477477744744 777477477444444 777477447477444 777477447777744 777477444747444 777477444774744 777477444474444 777447444447744 777447444777444 777447447744744 777447447444444 777447477474444 777447477774744 777447477747444 777447474744444 777447474477744 777447774477444 777447774777744 777447777774444 777447777444744 777447747477744 777447747744444 777447744747744 777447744474744 777447744447444 777444744477744 777444744744444 777444747747444 777444747774744 777444747474444 777444777447744 777444777777444 777444774774444 777444774444744 777444474474444 777444474774744 777444474747444 777444477777744 777444477477444 777444447447444 777444447474744 777444447747744 777444444744744 777444444444444 747444444477444 747444444777744 747444447774444 747444447444744 747444477447444 747444477474744 747444477747744 747444474744744 747444474444444 747444774477744 747444774744444 747444777747444 747444777774744 747444777474444 747444747444444 747444747744744 747444744777444 747444744447744 747447744444744 747447744774444 747447747777444 747447747447744 747447777477744 747447777744444 747447774747744 747447774474744 747447774447444 747447474447744 747447474777444 747447477744744 747447477444444 747447447477444 747447447777744 747447444747444 747447444774744 747447444474444 747477444444444 747477444744744 747477447747744 747477447474744 747477447447444 747477477477444 747477477777744 747477474747444 747477474774744 747477474474444 747477774444744 747477774774444 747477777777444 747477777447744 747477747474444 747477747774744 747477747747444 747477744744444 747477744477744 747474744474444 747474744774744 747474744747444 747474747777744 747474747477444 747474777444444 747474777744744 747474774777444 747474774447744 747474474477444 747474474777744 747474477774444 747474477444744 747474447477744 747474447744444 747474444747744 747474444474744 747474444447444 747774444447744 747774444777444 747774447744744 747774447444444 747774477474444 747774477774744 747774477747444 747774474744444 747774474477744 747774774477444 747774774777744 747774777774444 747774777444744 747774747477744 747774747744444 747774744747744 747774744474744 747774744447444 747777744444444 747777744744744 747777747747744 747777747474744 747777747447444 747777777477444 747777777777744 747777774747444 747777774774744 747777774474444 747777474447444 747777474474744 747777474747744 747777477744444 747777477477744 747777447447744 747777447777444 747777444774444 747777444444744 747747444447444 747747444474744 747747444747744 747747447744444 747747447477744 747747477444744 747747477774444 747747474777744 747747474477444 747747774447744 747747774777444 747747777744744 747747777444444 747747747477444 747747747777744 747747744747444 747747744774744 747747744474444 747744744477444 747744744777744 747744747774444 747744747444744 747744777447444 747744777474744 747744777747744 747744774744744 747744774444444 747744474444744 747744474774444 747744477777444 747744477447744 747744447474444 747744447774744 747744447747444 747744444744444 747744444477744 744744444447444 744744444474744 744744444747744 744744447744444 744744447477744 744744477444744 744744477774444 744744474777744 744744474477444 744744774447744 744744774777444 744744777744744 744744777444444 744744747477444 744744747777744 744744744747444 744744744774744 744744744474444 744747744477744 744747744744444 744747747747444 744747747774744 744747747474444 744747777447744 744747777777444 744747774774444 744747774444744 744747474474444 744747474774744 744747474747444 744747477777744 744747477477444 744747447447444 744747447474744 744747447747744 744747444744744 744747444444444 744777444477444 744777444777744 744777447774444 744777447444744 744777477447444 744777477474744 744777477747744 744777474744744 744777474444444 744777774477744 744777774744444 744777777747444 744777777774744 744777777474444 744777747444444 744777747744744 744777744777444 744777744447744 744774744444444 744774744744744 744774747747744 744774747474744 744774747447444 744774777477444 744774777777744 744774774747444 744774774774744 744774774474444 744774474447444 744774474474744 744774474747744 744774477744444 744774477477744 744774447447744 744774447777444 744774444774444 744774444444744 744474444444444 744474444744744 744474447747744 744474447474744 744474447447444 744474477477444 744474477777744 744474474747444 744474474774744 744474474474444 744474774444744 744474774774444 744474777777444 744474777447744 744474747474444 744474747774744 744474747747444 744474744744444 744474744477744 744477744447444 744477744474744 744477744747744 744477747744444 744477747477744 744477777444744 744477777774444 744477774777744 744477774477444 744477474477744 744477474744444 744477477747444 744477477774744 744477477474444 744477447444444 744477447744744 744477444777444 744477444447744 744447444477744 744447444744444 744447447747444 744447447774744 744447447474444 744447477447744 744447477777444 744447474774444 744447474444744 744447774444444 744447774744744 744447777747744 744447777474744 744447777447444 744447747444744 744447747774444 744447744777744 744447744477444 744444744444744 744444744774444 744444747777444 744444747447744 744444777477744 744444777744444 744444774747744 744444774474744 744444774447444 744444474447744 744444474777444 744444477744744 744444477444444 744444447477444 744444447777744 744444444747444 744444444774744 744444444474444