读书人

求编程解决,该如何解决

发布时间: 2013-02-05 10:40:57 作者: rapoo

求编程解决
/蛤蟆 鸭子 禅,一起下稻田。看头3600,看腿13000 (蛤蟆4条腿禅3条腿)三种动物共3600只。求蛤蟆鸭子禅各多少只
额,水贴,群里一位帅哥发的。。
用程序解决嘛。
x+y+z=3600
x*4+y*2+z*3=13000
然后呢? 暴力破解?
。。。。。怎么写吧,坐等大神们的回复求编程解决,该如何解决
[解决办法]

#include <stdio.h>

void main()
{
int x,y,z;

for(x=0; x< 11; x++) // 11^4 >13000
for(y=0; y<115; y++) // 115*115 >13000
{
z = 3600 - x - y;
if( x*x*x*x + y*y + z*z*z == 13000 )
printf("蛤蟆=%d 鸭子=%d 禅=%d\n",x,y,z);
}
}

[解决办法]
2(x+y+Z)+2x+z=13000
2x+z=5800

这样好穷举了吧
[解决办法]
穷举法最直接:

#include <stdio.h>

#define HEAD_COUNT(3600)
#define FOOT_COUNT(13000)

int main(int argc, char *argv[])
{
int x, y, z;

for(x = 0; x < FOOT_COUNT / 4; x++)
for(y = 0; y < FOOT_COUNT / 2; y++)
{
z = HEAD_COUNT - x - y;
if((z >= 0) && (x * 4 + y * 2 + z * 3 == FOOT_COUNT))
printf("x=%d, y=%d, z=%d\n", x, y, z);
}

return 0;
}



引用:
/蛤蟆 鸭子 禅,一起下稻田。看头3600,看腿13000 (蛤蟆4条腿禅3条腿)三种动物共3600只。求蛤蟆鸭子禅各多少只
额,水贴,群里一位帅哥发的。。
用程序解决嘛。
x+y+z=3600
x*4+y*2+z*3=13000
然后呢? 暴力破解?
。。。。。怎么写吧,坐等大神们的回复

……

[解决办法]
总共有699组解
随便给出几组:
蛤蟆=2877 鸭子=677 禅=46
蛤蟆=2878 鸭子=678 禅=44
蛤蟆=2879 鸭子=679 禅=42
蛤蟆=2880 鸭子=680 禅=40
蛤蟆=2881 鸭子=681 禅=38
蛤蟆=2882 鸭子=682 禅=36
蛤蟆=2883 鸭子=683 禅=34
蛤蟆=2884 鸭子=684 禅=32
蛤蟆=2885 鸭子=685 禅=30
蛤蟆=2886 鸭子=686 禅=28
蛤蟆=2887 鸭子=687 禅=26
蛤蟆=2888 鸭子=688 禅=24
蛤蟆=2889 鸭子=689 禅=22
蛤蟆=2890 鸭子=690 禅=20
蛤蟆=2891 鸭子=691 禅=18
蛤蟆=2892 鸭子=692 禅=16
蛤蟆=2893 鸭子=693 禅=14
蛤蟆=2894 鸭子=694 禅=12
蛤蟆=2895 鸭子=695 禅=10
蛤蟆=2896 鸭子=696 禅=8
蛤蟆=2897 鸭子=697 禅=6
蛤蟆=2898 鸭子=698 禅=4
蛤蟆=2899 鸭子=699 禅=2

引用:
这个题无整数解。
从共有腿13000只来看,
蛤蟆最多不超过11只
鸭子最多不超过115只
禅最多不超过24只,
这三加起来怎么可能有3600只?

读书人网 >C++

热点推荐