上次去面试,这两题不会~~~
-_-!
发过来给大家也看看1.牛在草场吃草,而且草每天都会长.如果是27头牛,6天会把草吃完;如果是23头牛,9天会把草吃完;请问如果是21头牛几天会把草吃完?2.某商人利用一头驴要把3000个萝卜从A地运到B地去卖.AB相距1000公里.驴每走一公里要吃一个萝卜,且一次只能拉1000个萝卜.请问最后商人在B地还有多少个萝卜可以卖?
-_-!
发过来给大家也看看1.牛在草场吃草,而且草每天都会长.如果是27头牛,6天会把草吃完;如果是23头牛,9天会把草吃完;请问如果是21头牛几天会把草吃完?2.某商人利用一头驴要把3000个萝卜从A地运到B地去卖.AB相距1000公里.驴每走一公里要吃一个萝卜,且一次只能拉1000个萝卜.请问最后商人在B地还有多少个萝卜可以卖?
z=6*(27*x+y)
z=9*(23*x+y)
得到y=15x
设21头牛要t天
t*(21*x+y)=z
带进上面2个方程去
t=7
-----A--------B-------终点
2000个 1000个 533个1、每次都让驴驮1000个,到A点放下600,带200在回来的路上吃。来回5次,吃掉1000个,剩下2000个。
2、从A到B,333.33M。每次驮1000个,来回三次,吃掉1000个。剩1000个。
3、从B至终点,最后剩533个。不知道还有没有剩的多的?
bigbug9002 很不错了!很懂行呀!知识面很广呀!顶你一下!
问题是商人放心把自己的萝卜随便放在一个xx公里处吗,等下次再去时恐怕早就被河蟹掉了吧。
何况这驴这么麻烦,走一公里还要吃个萝卜,我是商人的话直接租个车什么的将驴和萝卜一起运过去得了,又快又方便。
走三段的话:1 250 500
#include <iostream>
using namespace std;void PrintTwo()
{
int nDist1(0),nDist2(0); for ( int i = 0;i <= 1000;i++ )
{
for ( int j = i;j <= 1000-i;j++ )
{
int nFirst = 5*i;
int nCount = (3000-nFirst)/1000;
int nSecond = (j-i)*(2*(1+nCount)-1); if ( nFirst+nSecond==2000 )
{
if ( j > nDist2 )
{
nDist1 = i;
nDist2 = j;
}
}
}
}
cout<<nDist1<<" "<<nDist2<<"\n";
}void PrintThree()
{
int nDist1(0),nDist2(0),nDist3(0); for ( int i = 0;i <= 1000;i++ )
{
for ( int j = i;j <= 1000-i;j++ )
{
for ( int k = j;k <= 1000 -k;k++ )
{
int nFirst = 5*i;
int nCount = (3000-nFirst)/1000;
int nSecond = (j-i)*(2*(1+nCount)-1); nCount = (3000-nSecond)/1000;
int nThird = (k-j)*(2*(1+nCount)-1); if ( nFirst+nSecond+nThird==2000 )
{
if ( k > nDist3 )
{
nDist1 = i;
nDist2 = j;
nDist3 = k;
}
}
}
}
}
cout<<nDist1<<" "<<nDist2<<" "<<nDist3<<"\n";
}void main()
{
PrintTwo();
PrintThree();
}