广师OJ 2239 一道数学题 解题报告

来源:互联网 发布:java三国游戏战之龙 编辑:程序博客网 时间:2024/05/16 15:38

题目链接 http://114.215.99.34/#/enter/problem?pid=2239


一道数学题

【问题描述】
Jq不懂高数,其实他也不懂数学,最近他又被一道数学题难倒了。请你帮帮他吧。
找出小于等于正整数N的使得(2^n-1)能被7整除的正整数n的个数。

【输入描述】
输入整数N(0 < N < 2^30).处理到文件结束
【输出描述】
对于每个N,输出相应的答案.
【输入样例】
337
【输出样例】
112


【题解】
当n为3的倍数时,(2^n-1)能被7整除 答案就是n/3

证明:

2^(3k)-1 = 8^k-1 
= (7+1)^k-1 
= C(n,k)*7^k + C(n,k-1)*7^(k-1) + …… + C(n,2)*7^2 + 1 - 1 
= C(n,k)*7^k + C(n,k-1)*7^(k-1) + …… + C(n,2)*7^2

式子每一项都含有因子7,所以当n = 3k时,2^n-1可以整除7,所以答案就是n/3

原创粉丝点击