| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3194 人关注过本帖, 2 人收藏
标题:输出712的n次方结果后三位为696的个数,N的范围比较大。。。就2~24469吧,求 ...
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 19楼 wp231957
呵呵,老哥怎么称呼?是做什么工作的?

重剑无锋,大巧不工
2012-11-15 19:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
万平
在邮政局办公室工作

DO IT YOURSELF !
2012-11-15 19:36
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
幸会!之前我以为姓王呢,和我一个同事的名字音同字不同呵呵,记住了。

敝姓杨,他们叫我杨大哥那是因为相比他们我确实大呵呵,你管我叫小杨就可以了,欢迎一起交流。

前面给你解释水壶问题的那个兄弟姓曹,数学水平在这个论坛也是数一数二的。和他交流也会有很多收获的。

重剑无锋,大巧不工
2012-11-15 19:53
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:0 
杨大哥的每一个思考题都把我逼到了代码的最底层!!
今日无果!!
明日继续。
看看非要把玩把玩0101了……

WE GO
2012-11-15 22:20
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 24楼 cyhdahua
呵呵,那就不剧透了,免得扫了小陈思考的兴致

重剑无锋,大巧不工
2012-11-15 22:36
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:0 
昨天看了8楼的代码一直在寻思着怎么提高代码的速度!!
以为计算机对取模运算做的很费时间了!以至于自己就捣鼓起来
不用取模运算符来求出对1000的余数
睡觉时候偶然想了一下,嘿嘿,太简单了
程序代码:
#include<stdio.h>
#include<time.h>
int main(){
    long now=0;
    now=clock();
    unsigned i,sum=712,n,m,count=0;
    for(i=2;count!=2;++i)
        if((sum=sum*712%1000)==696)
            if(++count==1)n=i;
    m=--i;
    printf("输出712的200000000次方结果后三位为696的个数:%u\n",(200000000-n)/(m-n)+1);
    printf("本程序所用时间为%10.4lf秒\n",(double)(clock()-now)/CLOCKS_PER_SEC);
    return 0;
}


WE GO
2012-11-16 20:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
小陈吧,你看第14楼

DO IT YOURSELF !
2012-11-16 20:05
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:0 
第14楼的考点就不在本题了,主要考点就成了怎么保存一个特大的整数值得问题

WE GO
2012-11-16 20:43
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,虽然小陈没表述,但看了他的代码我知道他已经解决了这个问题。

总结一下吧。712的n次方后三位为696的数的出现位置是呈周期性的。原因:抽屉原理。

结果后三位的值肯定在000到999之间吧,两个不同的数如果其后三位相同,那么它们乘以712(其它数也一样)之后的结果的后三位也必然相同。

这就决定了它必然是一个周期不大于1000的的周期函数。现在要做的就是计算这个周期函数的初相和周期的值。

对于这个楼主的问题,初相为88,周期为100。也就是说第一个后三位为696的数是712^88。之后每隔100次方会再出现一次。

知道了这些,计算多少次方内有几个这样的数口算都可以的。

呵呵,有没有觉得数学是个很有意思的东西呢?算法就是对问题的数学分析的计算机实现。

明白了以上描述,14楼的问题又有何难?

[ 本帖最后由 beyondyf 于 2012-11-16 20:56 编辑 ]

重剑无锋,大巧不工
2012-11-16 20:54
快速回复:输出712的n次方结果后三位为696的个数,N的范围比较大。。。就2~24469 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032223 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved