关于日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子? 怎样用c语言编写程序,我急用,最好能给我分析一下,先谢了 |
----------------解决方案--------------------------------------------------------
这个题目反过来想很容易:
先假设是平分的:
具体解法请看程序:
#include<stdio.h> main() { int i; float a[6]; for(i=0;i<6;i++) a[i]=420.0; for(i=5;i>0;i--) a[i]*=(8-i)/(7-i); a[0]=210.0*8/7; for(i=5;i>0;i--) a[i]-=a[i-1]/(9-i); printf("yuan lai ge suo fen tao wei:\n"); for(i=0;i<6;i++) printf("%d-->%-6.0f\n",i+1,a[i]); }
----------------解决方案--------------------------------------------------------
楼上的。。。。错拉!!!!
----------------解决方案--------------------------------------------------------
#include<stdio.h> main() { int i; float a[6]; for(i=0;i<6;i++) a[i]=420.0; for(i=5;i>0;i--) { a[i]=a[i]*(8-i)/(7-i); printf("%-6.0f\n",a[i]); } a[0]=210.0*8/7; for(i=5;i>0;i--) a[i]-=a[i-1]/(9-i); printf("yuan lai ge suo fen tao wei:\n"); for(i=0;i<6;i++) printf("%d-->%-6.0f\n",i+1,a[i]); }
不好意思出了点小错误
----------------解决方案--------------------------------------------------------