首页 > 其他 > 详细

一道考题

时间:2016-01-12 19:29:39      阅读:228      评论:0      收藏:0      [点我收藏+]

当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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!