设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1962|回复: 0
打印 上一主题 下一主题

算这个程序到底要花多长时间

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 02:07:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上午编了一个算数对称数的程序(对称数:是指从左向右与从右向左读数完全一样的数,如59895)
可是算了很长时间都没反应,并没有提示错误,如下:
#include<iostream>
#include<cmath>
using namespace std;
int duchenshu(int a)
{
int i,n,flag=0,flags=0;
double yushu;
for(i=1;;i++)
{
yushu=double(a)/pow(10,i);
if(yushu>1&&yushu<10) break;
}
n=i;
if((a/int(pow(10,n)))==(a%10)) flag=1;
else
{
flag=0;
}
i=n-1;
do
{
int s1,s2;
s1=a/int(pow(10,i));
s1=s1%10;
s2=a%int(pow(10,n-i+1));
s2=s2/int(pow(10,n-i));
if(s1!=s2)
{
flag=0;
}
else
i=i-1;
}
while(i>=n/2);
if(i=n/2 && flag==1) flags=1;
return flags;
}
int main()
{
int i;
for(i=96559;;++i)
{
if(duchenshu(i))
{
cout<<i;
break;
}
}
return 0;
}
如果把主函数改为:
int main()
{
int i;
for(i=96560;;++i)
{
if(duchenshu(i))
{
cout<<i;
break;
}
}
return 0;
}
则很快就能算完出来,郁闷的,请高手解答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 06:46 , Processed in 0.088200 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表