突然发现 ∑i=3ni3modn=0 上面这个公式已经用程序验证在n≤1000的时候都成立。 代码:
#include<iostream>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ldb;
const ll MAXN=1005;
ll a[MAXN][MAXN];
ll gcd(ll x,ll y){
return y==0?x:gcd(y,x%y);
}
bool f(ll x,ll y){
if(x<MAXN&&y<MAXN){
if(a[x][y]!=0){
if(a[x][y]==1)return true;
return false;
}else if(gcd(x,y)==1){
a[x][y]=1;
return true;
}else{
a[x][y]=-1;
return false;
}
}else{
return gcd(x,y)==1;
}
}
ll sqr3(ll x,ll MOD){
return x*x%MOD*x%MOD;
}
ll calc(ll n){
const ll MOD=n;
ll ans=0;
for(ll i=1;i<=n;++i){
if(f(i,n)){
ans=(ans+sqr3(i,MOD))%MOD;
}
}
return ans;
}
int main() {
ll n;
cin>>n;
for(ll i=1;i<=n;++i){
if(calc(i)!=0){
cout<<i<<endl;
}
}
return 0;
}
有没有哪位大佬能用数学证明吗???