当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