话说,不是很明白广陵的意思……反正我明白飞燕的代码了,我的程序只在p小于等于2位数才不会出错……不过懒得改了……等会儿写个伪代码出来就算了吧……
----------------解决方案--------------------------------------------------------
楼主可能明天来看答案....
广陵境界很高, 我居然什么都没看出来...可见既不是新手, 更不是高手..显然还没有入门...比如传真教的杨过, 能称之为新手么? 只有在他拜小龙女为师, 加入古墓派之后, 才能称之为新手...
我要继续努力啊...
我的小龙女在哪里?
----------------解决方案--------------------------------------------------------
废话水平果然高,废话境界更是高。不知所云
[color=white]
----------------解决方案--------------------------------------------------------
回复 33# 的帖子
呵呵,我的意思是:一道题,不同的人,能作出不同的代码,也能看出不同的深度来。
也许我的表达有误,导致大家看得云里雾中。
回家吃饭去……
----------------解决方案--------------------------------------------------------
不好意思现在才来看答案!
广陵绝唱,暂且称之为老师吧,你的编程方法对我启发很大,转头一想才知自己
的做法这末笨,补充一下2<=q<=p<=9.我忘打了,没想到各位还是做出来了.
我把广陵老师的方法改进了一下:
思路:假设原数是x,则x满足:x/10+p*pow(10,wei)=q*x;
wei表示x是几位数;
我的代码如下:
# include<stdio.h>
# include<math.h>
# define N 999999
void main()
{
long x;
int p,q,wei;
printf("Please enter two number 2<=q<=p<=9!\n");
scanf("%d%d",&p,&q);
for(x=p;x<N;x=x+10)
{
wei=log10(x)+1;
if(x/10+p*pow(10,wei)==x*q)
{printf("The number is :%ld",x);
break;}
}
if(x>=N)
printf("NOT found!\n");
getch();
}
问题:好象逻辑没错误,但不知为什么运行不出结果望各位指教!
再有看到各位高手编的程序,我受益非浅!我还须大大加油才能赶上你们!
----------------解决方案--------------------------------------------------------
等你看懂我的方法,你就知道更多
[color=white]
----------------解决方案--------------------------------------------------------
人说,飞燕的代码看懂了是享受,看不懂是难受……
别误会,是在夸你……
----------------解决方案--------------------------------------------------------
回复 37# 的帖子
看到上面某一楼就知道了,这个数字可以大到非常BT,比如3 1001,这个数字5004位,就小一点3 9也有44位数,你的N六位数,够么?
----------------解决方案--------------------------------------------------------