标题:求“雷劈数”
只看楼主
酷猫
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-9-8
 问题点数:0 回复次数:8 
求“雷劈数”
81:8+1=9  9*9=81
2025:20+25=45  45*45=2025
60481729: 6048+1729=7777   7777*7777=60481729
求出10~100000000之间的所有“雷劈数”
“雷劈数”的命名是因为一个标有路程的路牌被雷从中间劈开了,上面的数刚好符合该特征。
本人刚学C不久,遇到此题不知道该如何下手,请各位高手帮忙解答下。

[[it] 本帖最后由 酷猫 于 2008-2-2 16:47 编辑 [/it]]
搜索更多相关主题的帖子: 雷劈数 路牌 路程 特征 
2008-02-02 16:46
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
这些数很特殊``应该不多吧````

找出这些数```10~100000000的范围应该不多```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-02-02 16:56
ACQ
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-1-31
得分:0 
最多只要试1000个数,很快,瞬间就行了

ACQ
2008-02-02 17:06
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
得分:0 
雷劈数应该是一个数的平方
所以N=3:10000
然后,搜索N平方数中 满足以上条件的就可以了
2008-02-02 17:39
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
雷劈数应该是一个数的平方


有相关公式吗```为什么是这样的呢```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-02-02 17:57
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
N=3:10000

这是什么意思??

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-02-02 17:58
icemine
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-2
得分:0 
#include <stdio.h>
#include <stdlib.h>

int power(int a, int b)
{   return (b==0) ? 1 : a*power(a,b-1); }
int LeiPi(int num)
{
    int n = num;
    int len = 0, sum = 0;
    int half,halfone,halftwo;
    while(n)
    {    n = n/10; len++; }
    n = num;
    for(half = 1; half<len; half++)
    {
        halfone = n%(power(10,half));
        halftwo = n/(power(10,half));
        sum = halfone + halftwo;
        if((sum*sum) == num)
        {
           printf("[%4d][%4d]",halftwo,halfone);
           return 1;
        }
    }
    return 0;
}
int main()
{
    int j=0,i,n;
    for(i = 4; i<10000; i++)
    {
          n = i*i;
          if( LeiPi(n) )
          {   printf("->%-8d ",n); j++; }
          if( j == 3 )
          {   printf("\n"); j  = 0; }
    }
   
    return 0;
}
2008-02-02 18:43
icemine
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-2
得分:0 
结果
[   8][   1]->81       [  10][   0]->100      [  20][  25]->2025
[  30][  25]->3025     [  98][   1]->9801     [ 100][   0]->10000
[  88][ 209]->88209    [ 494][ 209]->494209   [ 998][   1]->998001
[1000][   0]->1000000  [ 494][1729]->4941729  [ 744][1984]->7441984
[ 238][4641]->23804641 [2450][2500]->24502500 [2550][2500]->25502500
[  28][5264]->28005264 [5288][1984]->52881984 [6048][1729]->60481729
[9998][   1]->99980001
2008-02-02 18:44
chmlqw
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-10-11
得分:0 
回复 5# 的帖子
81:8+1=9  9*9=81
2025:20+25=45  45*45=2025
60481729: 6048+1729=7777   7777*7777=60481729


根据规律,所以是平方数
N=3:10000 表示从3到10000,好久没有用C了,所以语法都忘了...
2008-02-02 18:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-199376-1-1.html




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

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