黑马程序员技术交流社区
标题:
这个数学题用java怎么做
[打印本页]
作者:
精诚所至
时间:
2017-4-9 20:43
标题:
这个数学题用java怎么做
10个兄弟分100两银子,长兄最多,依次减少相同数目。现知第吧兄弟分得6两,问相邻两兄弟相差多少
作者:
javaeeheima
时间:
2017-4-9 23:40
public class Test05{
public static void main(String[] args){
/*
10个兄弟分100两银子,长兄最多,依次减少相同数目.现知第八个兄弟分得六两,问相邻两兄弟相差多少.
*/
int sum=100;
for (int i=1;i<100;i++){
for(int j=0;j<7;j++){
sum=sum-i;
}
if((sum=3*i)==18){
System.out.println("相邻两兄弟相差:"+i);
break;
}
else{
sum=100;
}
}
}
}
作者:
javaeeheima
时间:
2017-4-9 23:42
搞错了,怎么删不掉呢
作者:
Damonlalala
时间:
2017-4-10 00:49
这题结果是小数,如果是整数比较好做一些
作者:
Hp_Yx
时间:
2017-4-10 00:53
不知道
作者:
小T
时间:
2017-4-10 01:00
楼上的看不懂,我比较笨啦!
我初步看了下觉得有俩种方法可能可以解决吧!一,穷举,订一个数组装兄弟们的钱,因为知道了一个人的钱开始用循环假设差额,这样就可以初始化整个数组,然后就求数组和如果等于100那这个假设的差额数就刚好正确,就这样找到,在差额为整数的时候运算不太大时估计能解决。
二,这个是有规律的你就先假设差额是x,然后列出所有兄弟们的钱想加等于100然后反求x,就一个一元方程式,找到规律了,就自行抽象成方法,可以加些自己觉得有用的功能进去,这个方式可以求出小数
作者:
zeng1002
时间:
2017-4-10 01:04
围观群众看看大神们的杰作
作者:
Damonlalala
时间:
2017-4-10 01:05
public class Demo02 {
public static void main(String[] args) {
//所有值乘以10倍
for (int i = 10; i < 100; i++) {
int sum = 0;
int num = 60 - i - i;
for (int j = 0; j < 10; j++) {
sum +=num;
num +=i;
}
if(sum == 1000){
//结果要除以10;
System.out.println("差值是"+(double)i/10);
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2