51nod 1082 與7無關的數
阿新 • • 發佈:2018-11-30
一個正整數,如果它能被7整除,或者它的十進位制表示法中某個位數上的數字為7,則稱其為與7相關的數。求所有小於等於N的與7無關的正整數的平方和。
例如:N = 8,<= 8與7無關的數包括:1 2 3 4 5 6 8,平方和為:155。
打表然後再二分查詢答案
#include<cstdio> #include<cstring> using namespace std; const int maxn=1e6+10; int table[maxn]; void init() { for(int i=7;i<maxn;i++) { if(!(i%7)) table[i]=1; int temp=i; while(temp) { int tem; tem=temp%10; temp/=10; if(tem==7) { table[i]=1; break; } } } } int main() { init(); //for(int i=7;i<=70;i++) //if(!table[i]) printf("%d\n",i); int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); long long ans=0; for(long long i=1;i<=n;i++) { if(!table[i]) ans+=(i*i); } printf("%lld\n",ans); } }