当n=1,2,3...2015时,统计3n+n3能整除7的个数。
编程解法:
#include <iostream>
#include <cmath>
using namespace std;
int mod_pow(int c , int d , int n)
{
int res=1;
while(d>0){
if(d&1)
res=res*c%n;
c=c*c%n;
d>>=1;
}
return res;
}
int main(){
int i=1;
int sum=0,count=0;
for(i;i<=2015;i++){
sum=0;
sum+=mod_pow(3,i,7);
int temp=i%7;
sum+=(temp*temp*temp)%7;
sum%=7;
if(sum==0) count++;
}
cout<<count;
return 0;
}
得个数为288.
其实本题考查的是数学同余的知识,重点在于同余的分析。编程解法只是验证下同余解法是否正确。
下面是同余解法:
原文:http://www.cnblogs.com/liugl7/p/5125326.html