小 X 的密码破译
解题思路
其实就是桶排,把每一个数都进去算一遍
程序如下
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long a,b,c,n,ans,sum;
bool g[11111115];
int main()
{
scanf("%lld %lld %lld %lld",&n,&a,&b,&c);
n%=11111111;//除去不要的
for(int i=1;i<=n;++i)
{
g[(a*i*i+b*i+c)%11111111]=true;//桶排
}
for(int i=0;i<11111111;++i)
{
if(g[i])
ans=(ans+i*(++sum))%11111111; //相加
}
printf("%lld",ans);
return 0;
}