搜索
查看: 5200|回复: 17
打印 上一主题 下一主题

C语言一天一练--22.august

[复制链接]
楼主
发表于 2013-3-11 22:11:18 | 显示全部楼层
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{    int x,y;
   for(x=1;x<=999999999999;x++){
           for(y=1;y<=999999999999;y++){
                   if(((x+y)*(x+y))==(x*10+y)){

                           printf("x=%d",x);
                           printf("y=%d",y);
                           printf("雷劈数=%d",(x+y)*(x+y));
                   }
           }
   }
        return 0;
}
但是出数的速度太慢了 求高人指点一下  谢谢
沙发
发表于 2013-3-11 22:28:17 | 显示全部楼层
rosynirvana 发表于 2013-3-11 22:15
两重循环肯定慢啊
此外你机器上int型能到999999999999的吗,一般不能的

那怎么破??
板凳
发表于 2013-3-12 20:56:51 | 显示全部楼层
rosynirvana 发表于 2013-3-11 23:00
(10^6 + 0)^2=10^12
已经是13位数了
所以没必要扫描那么多

对不起啊 有点没明白
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表