A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

梁昱华

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 梁昱华 初级黑马   /  2012-8-6 01:19  /  1544 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

已知某培训机构本年度毕业生的人数为三百人左右,且学生就业率为83.23%。通过for循环,求出最可能的学生人数及已就业人数。假定总人数三百人左右的描述,是指人数上下波动20以内。(用枚举求){:soso_e154:}求大神帮忙

5 个回复

倒序浏览
枚举啊,一点都不懂,求枚举解释,我只能旁观了。
我稍微看了一下张老师的视频,讲到枚举,感觉听懂了,但是自己敲代码就有点都不会了。
应该是还没有理解透,希望有人能详细的回答一下啊!!!
回复 使用道具 举报
{:soso_e115:}   还没看到那里呢。
回复 使用道具 举报
波动20人,也就是说人数为280-320,只要枚举这40个人就行了
只要总人数/就业人数 = 83.225% 到 83.234% 之间(四舍五入),就说明这个数可能是对的
double tmp = 0.0;for (int i = 280; i <= 320; i++){int max = (int)(i * 0.85);for (int j = (int)(i * 0.8); j <= max; j++){tmp = (double)j/i;if (tmp >= 0.83225 && tmp <= 0.83234){System.out.println("总人数可能为 : " + i + ", 就业人数为 : " + j);}}}
格式弄乱了,自己去看吧


回复 使用道具 举报
public static void main(String[] args) {
HashMap map=new HashMap();
double min=0.8323;
int[] stu=new int[2];
stu[0]=280;stu[1]=0;
double r=-1;
for(int i=280;i<=320;i++){
for(int j=1;j<=i;j++){
r=Math.abs(j*1.0/i-0.8323);
if(r<min){
min=r;
stu[0]=i;
stu[1]=j;
}
}
}

System.out.println(stu[0]);
System.out.println(stu[1]);
}

结果:316,263


回复 使用道具 举报
yun``数学问题而已
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马