暴力 打表过的
注意爆int 还有 7的倍数 和 数字中有7的
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e6+10; ll dp[maxn]; ll s[maxn]; void solve() { for(int i=1;i< maxn;i++) s[i] = 1; for(int i=1;i< maxn;i++) { if(i % 7 ==0){ s[i] = 0; continue; } bool flag = 0; int k=i; int num =0; while (k) { num = k%10; if(num == 7) { flag = 1; break; } k/=10; } if(flag ) s[i] =0; } for(ll i=1; i<maxn; i++) dp[i] = dp[i-1] +((s[i]==1) ? i*i : 0); } int main () { int t; solve(); scanf("%d",&t); while (t--) { int n; scanf("%d",&n); printf("%lld\n",dp[n]); } }