不难看出这个可以用枚举的思想, 在开头或者最后以及中间的缝隙插入一位数(0~9) 从而让n成为7的倍数, 所以我们可以枚举每一个可以插入的位置,每一个位置有十种所以复杂度是(10long10(n+1)) 然后计算的复杂度为long10(n+1)所以总的复杂度为20long10(n+1) 为了简便所以直接用三层循环 ac代码附上:

#include<bits/stdc++.h>
using namespace std;
int a[10]={0},pd[10]={0};
int main()
{
    string a;
    cin>>a;
    for(int i=0;i<=a.size();i++)
    {
        for(int j=0;j<=9;j++)
        {
            char x=j+'0';
            a.insert(i,1,x);
            long long ans=0;
            for(int i=0;i<a.size();i++)
            {
                ans=ans*10+a[i]-'0';
            }
            if(ans%7==0)
            {
                cout<<a;
                return 0;
            }
            else
            {
                a.erase(i,1);
            }
        }
    }
}