题目1:有1-60 60个数字,然后对应把它们随机分成6组,每组10个数。问数字1和数字2分到同组的概率?
我觉得答案是 9/59 同学不信,所以回来又仔细思考了一下,因为笔试的时候是很随意地想的。
笔试时候的想法,数字1先选一个组,剩下59个坑,只有9个是和1同组的,所以2和1同组的概率是9/59。同学告诉我,这是分6个组,数字1随意选一个组,数字2随意选一个组,所以相同的概率是1/6*1/6=1/36。我竟无言以对,我觉得即使按这个思路去做也是1/6而不是1/36。
回到宿舍的想法
从排列的方法来看:
分子:6*10*9*p(58,58)
//6是一共有6组
//10是对于1来说,任意一个组它有10种放法
//9是对于2来说,1确定后,2有9种放法
//A(58,58)是其它的58个数字的全排列
分母:p(60,60)这是60个数全排列的个数
化简一下就是(10*9*6)/(60*59)=9/59
从组合的方法来看:
分子:6*C(8,58)*C(10,50)*C(10,40)*C(10,30)*C(10,20)*C(10,10)
分母:C(10,60)*C(10,50)*C(10,40)*C(10,30)*C(10,20)*C(10,10)
化简:6*9*10/(60*59)=9/59
为此写了个代码做了下验证
#include <stdio.h>
#include <cstdlib>
#include <ctime>
int main()
{
int ran_num;
srand((unsigned)time(0));
int save[6][10]={0};
int count = 0;
int x = 0;
for(; x < 1000000; x++)
{
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 10; j++)
{
save[i][j] = 0;
}
}
for(int k = 1; k <= 60; k++)
{
int ran_row = rand() % 6;
int ran_col = rand() % 10;
if(save[ran_row][ran_col] != 0)
{
k--;
continue;
}
else
{
save[ran_row][ran_col] = k;
}
}
/*
printf("生成结果:\n");
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 10; j++)
{
printf("%2d ",save[i][j]);
}
printf("\n");
}
*/
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 10; j++)
{
if(save[i][j] == 1)
{
for(int k = 0; k < 10; k++)
{
if(save[i][k] == 2)
{
count++;
}
}
}
}
}
}
printf("%d %d \n",count,x);
return 0;
}
运行结果:
第一个数为1、2同组的个数,第二个数为实验次数。
9/59 ≈ 0.1525
看起来这个结果好像是对的吧!
题目2:对于155个装有红、黄、蓝三种颜色球的盒子,有三种分类方法:对于每种颜色,将该颜色的球数目相同的盒子归为一类.若从1到30之间所有的自然数都是某种分类中一类的盒子数,那么,三种分类的类数之和是多少?
笔试的时候一脸蒙蔽,没有看懂题目的意思,只想问出题人的语文学好没。回来百度一下:
小学华杯赛高年级组的题(我那时还只有六年级组),看了一个答案,感觉我真的语文没学好。
参考作业帮上的答案 ,我觉得应该都能看懂的吧。
https://www.zybang.com/question/09ca4aeb751044838b0394d2a2163d15.html?ssl=1
题目3:有6个袋子,每个袋子有10个球,有5个袋子里面的球重量都是每个6kg,有一个袋子的球每个重量为4kg,有一个称,问最少称几次能称出哪个袋子的球是较轻的(4kg的)?
我想当然地以为用二分法,然后称两次就得出结果。
正确答案应该是这样:从1号袋拿出1个球,从2号袋拿出2个球,从3号袋拿出3个球……从6号袋拿出6个球,总计21个球称总重量,设总重为x,则较轻的袋编号为(126-x)/2。
题目4:甲乙从A地匀速出发,丙从B地与甲乙相向而行,匀速出发。(AB之间只有一条路,没有岔路什么的,谢谢)甲丙相遇时,丙行走了30km,此时甲立马回头,以两倍的速度返回A地,当甲乙相遇时,丙走了40km,当乙丙相遇时,甲恰好返回A地,问AB的距离。
小学的相遇/追及问题。
设甲的速度为X 乙速度为Y,则甲丙相遇用时为3a,则再过时间a,甲乙相遇。(通过丙的距离得到)
则(X-Y)*3*a=(2*X+Y)*a 得到X=4Y 也就是甲乙的速度比为4:1
甲立马回头回到A地的时间为1.5a(两倍速度回,时间减半),则此时丙走了45km,且乙丙相遇
设甲速度为4X,乙为X,丙为Y.
(4X+Y)*3a=(X+Y)*4.5a 得Y=5X
则甲丙相遇时,丙走了30km,甲走了24km(速度比5:4)。
AB距离为54km。