我知道问题肯定是出在last()这个函数里面得,但是就是不知道为什么~~~或者说不知道哪里出得错~~~
[此贴子已经被作者于2005-8-23 4:12:07编辑过]
----------------解决方案--------------------------------------------------------
还有我觉得答案唯一吗?
----------------解决方案--------------------------------------------------------
#include<stdio.h> main() { float f; int a,b,i,c; c=6; i=100000; //初始化大点。 for(a=1;a<i;a++) { for(b=1;b<c;b++) { f=(a-1.)*4./5.; if(f-(int)f==0) continue; else break; } if(f-(int)f==0) printf("\n all=%f,last=%d",a,f); } return 0; }
----------------解决方案--------------------------------------------------------
我这没装编译器,怎么报错??
----------------解决方案--------------------------------------------------------
从后往前算用笔就行了
从前往后算用循环
我用ASP做的
<%j=6
do while k<>2
i=1
k=0
x=j
do while i<=5 and k<>1
if(x-1)mod 5<>0 or (x-1)<0 then
k=1
else
if i=5 and (x-1)>0 then
k=2
y=j
z=(x-1)*4/5
end if
x=(x-1)*4/5
end if
i=i+1
loop
j=j+1
loop
response.Write("一共:"&y&"个;还剩:"&z&"个")%>
一共:3121个;还剩:1020个
[此贴子已经被作者于2005-8-24 12:44:00编辑过]
----------------解决方案--------------------------------------------------------
不会把。这么多答案
----------------解决方案--------------------------------------------------------
yaoqiang88 是对的,知道错哪了。呵呵~把循环搞错了
[此贴子已经被作者于2005-8-23 15:10:47编辑过]
----------------解决方案--------------------------------------------------------
一共:3906个;还剩:4个,这个应该不对,逆推一下就知道了.
----------------解决方案--------------------------------------------------------
main()
{ int a;
float b,c;
for(b=1;b<100;b++)
{c=b;
for(a=1;a<7;a++)
{ c=5/4*c+1;
if(c==(int)c)
continue;
}
if(a==7)
printf("%d%5f\n",b,c);
}
getch();
}
不知道为什么结果不正确
----------------解决方案--------------------------------------------------------
我搞错了 我算成拿走四份 剩一份了
----------------解决方案--------------------------------------------------------