我看网上的写的好麻烦就自己写了一个,仅供参考,欢迎探讨。
题目:小明从出生到现在一直是单身,所以,他最恨情人节,不管是 214
还是 77
,他都讨厌! 小明观察了 214
和 77
这两个数,发现: 2+1+4=7
7+7=7×2
77=7×11
最终,他发现原来这一切归根到底都是因为和 7
有关,所以,他现在讨厌一切和 7
有关的数! 如果一个整数符合下面三个条件之一,那么假定这个整数和 7
有关: 1.整数中某一位是 7
; 2.整数的每一位加起来的和是 7
的整数倍; 3.这个整数是 7
的整数倍; 现在,小明想知道在一定区间内(包括边界)和 7
无关的数字的平方和。
输入输出格式
输入格式 输入包含两个正整数 l,r
,表示给定的区间范围。 整数之间以空格间隔。 输出格式 请计算给定区间范围中和 7
无关的数字的平方和,并将结果对 109+7
求模后输出。
输入输出样例1
输入 1 9
输出 236
输入输出样例2
输入 10 11
输出 221
说明提示
1≤l≤r≤1018
#include<bits/stdc++.h>
using namespace std;
int one(int a){
int b;
while(a){
b=a%10;
if(b==7){
return 1;
}
a=a/10;
}
return 0;
}
int sum(int a){
int b=0;
while(a){
b=b+a%10;
a=a/10;
}
if(b%7==0){
return 1;
}
return 0;
}
int main(){
int l,r,ans=0;
cin>>l>>r;
for(int i=l;i<=r;i++){
if(one(i)==0 && sum(i)==0 && i%7!=0){
ans=(ans+i*i)%1000000007;
}
}
cout<<ans<<endl;
return 0;
}