构造。。。。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
bool sh[10010000];
int main()
{
string str;
int cnt = 0, mod = 0;
cin >> str;
int n = str.size();
memset(sh, true, sizeof(sh));
bool n1 = false, n6 = false, n8 = false, n9 = false;
for (int i = 0; i < n; i++)
{
int b = str[i] - '0';
if (b == 0)
{
sh[i] = false;
cnt++; continue;
}
if (b == 1 && !n1)
{
n1 = true;
sh[i] = false;
continue;
}
if (b == 6 && !n6)
{
n6 = true;
sh[i] = false;
continue;
}
if (b == 8 && !n8)
{
n8 = true;
sh[i] = false;
continue;
}
if (b == 9 && !n9)
{
n9 = true;
sh[i] = false;
continue;
}
mod = (mod * 10 + b) % 7;
}
mod = (mod * 10000) % 7;
for (int i = 0; i < n; i++)
{
if (sh[i]) putchar(str[i]);
}
if (mod == 0)
{
printf("1869");
}
else if (7 - mod == 1)
{
printf("1968");
}
else if (7 - mod == 2)
{
printf("1689");
}
else if (7 - mod == 3)
{
printf("6198");
}
else if (7 - mod == 4)
{
printf("1698");
}
else if (7 - mod == 5)
{
printf("1986");
}
else if (7 - mod == 6)
{
printf("1896");
}
while (cnt--)
{
putchar('0');
}
///system("pause");
return 0;
}