| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:谁能讲解一下这个程序的具体步骤?
取消只看楼主 加入收藏
vdestroyer
Rank: 2
等 级:论坛游民
帖 子:136
专家分:14
注 册:2009-1-7
结帖率:96.43%
收藏
已结贴  问题点数:20 回复次数:1 
谁能讲解一下这个程序的具体步骤?
我们发现,有一个6位数,639172,它的平方等于一个数。
639172^2=408540845584
而这个式子有两个特点:
其一,639172这个6位数,没有一位数字互相之间是相同的。也就是说,很容易看出来,个位上是个2,这个2就没有在其它为数上出现过。
另外,数字408540845584 里面的所有数字都没有和 639172里的数字重复。

还有一个6位数,也符合上面这个例子的条件,找是哪个数。。。。。。。。

下面这个程序就是算这个数的:
主要帮我解释一下ChckNum里面的东西
比如for语句问什么可以这样写       for(;n;n/=10)
temp前面的++又怎么解释等等        if(++temp[n%10]>1) return 0;


#include <stdio.h>
int CheckNum(__int64 n)
{
    char temp[10] = {0};
    __int64 longn=n*n;
    for(;n;n/=10) if(++temp[n%10]>1) return 0;
    for(;longn;longn/=10) if(temp[longn%10]>0) return 0;
    return 1;
}
void main()
{
    for(int n=123456;n<=987654;n++) if(CheckNum(n)) printf("%d\n", n);
}
搜索更多相关主题的帖子: 讲解 
2009-07-21 19:27
vdestroyer
Rank: 2
等 级:论坛游民
帖 子:136
专家分:14
注 册:2009-1-7
收藏
得分:0 
没人帮忙啊。。。哎。。
这种写法从来没见过啊。。
2009-07-23 00:36
快速回复:谁能讲解一下这个程序的具体步骤?
数据加载中...
 
   



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

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