Java 皮带碰撞时间计算
迪斯先生和阿斯特先生是菲亚斯科钢铁厂的机械工程师。 他们被指派为自动手推车设计道路 铁矿石遍布冶炼厂。他们本该做的 自动手推车的两条环形道路。然而,由于错误 迪斯先生和阿斯特先生使环形道路彼此相切 其他(即两条圆形路径在一点上相互接触)。Java 皮带碰撞时间计算,java,algorithm,numbers,lcm,Java,Algorithm,Numbers,Lcm,迪斯先生和阿斯特先生是菲亚斯科钢铁厂的机械工程师。 他们被指派为自动手推车设计道路 铁矿石遍布冶炼厂。他们本该做的 自动手推车的两条环形道路。然而,由于错误 迪斯先生和阿斯特先生使环形道路彼此相切 其他(即两条圆形路径在一点上相互接触)。 每天早上8点,手推车从切点开始 并在各自的轨道上顺时针移动。这是很明显的 在某个点上,手推车会在 他们开始了。为了拯救手推车和 对工厂运营造成的损害 工厂要求你编写一个程序,让它听起来像一个 碰撞前10秒鸣笛,以便工头能够停止 为了避免碰撞,手推车停了下来。编
每天早上8点,手推车从切点开始 并在各自的轨道上顺时针移动。这是很明显的 在某个点上,手推车会在 他们开始了。为了拯救手推车和 对工厂运营造成的损害 工厂要求你编写一个程序,让它听起来像一个 碰撞前10秒鸣笛,以便工头能够停止 为了避免碰撞,手推车停了下来。编写一个程序 找出汽笛响之前经过的时间(以秒为单位)
public static int timeLapsed(int perimeter1、int speed1、int perimeter2、int speed2){
int越大,越小;
int结果=0;
如果(周长1>周长2){
更大=周长1;
较小=周长2;
}否则{
更大=周长2;
较小=周长1;
}
对于(int i=1;i计算碰撞前的距离时,考虑了周长较大的皮带。因此,速度不能任意选择,应为周长较大的皮带
变化
public static int timeLapsed(int perimeter1, int speed1, int perimeter2, int speed2) {
int greater,smaller;
int speed, result = 0;
if(perimeter1 > perimeter2) {
greater = perimeter1;
smaller = perimeter2;
speed = speed1;
} else {
greater = perimeter2;
smaller = perimeter1;
speed = speed2;
}
for(int i=1;i<=smaller;i++) {
if(((greater*i)%smaller)==0) {
result = greater*i;
break;
}
}
return result/speed-10;
}
public static int timeLapsed(int perimeter1、int speed1、int perimeter2、int speed2){
int越大,越小;
int速度,结果=0;
如果(周长1>周长2){
更大=周长1;
较小=周长2;
速度=速度1;
}否则{
更大=周长2;
较小=周长1;
速度=速度2;
}
对于(int i=1;i另一种替代方法,计算两条皮带所用时间的LCM,即碰撞时间
public static int timeLapsed(int perimeter1, int speed1, int perimeter2, int speed2) {
int timeForTrolley1 = perimeter1/speed1,timeForTrolley2 = perimeter2/speed2;
int greater,smaller;
int result = 0;
if(timeForTrolley1 > timeForTrolley2) {
greater = timeForTrolley1;
smaller = timeForTrolley2;
} else {
greater = timeForTrolley2;
smaller = timeForTrolley1;
}
for(int i=1;i<=smaller;i++) {
if(((greater*i)%smaller)==0) {
result = greater*i;
break;
}
}
return result-10;
}
public static int timeLapsed(int perimeter1、int speed1、int perimeter2、int speed2){
int timeForTrolley1=周长1/速度1,timeForTrolley2=周长2/速度2;
int越大,越小;
int结果=0;
if(timeForTrolley1>timeForTrolley2){
更大=timeForTrolley1;
较小=timeForTrolley2;
}否则{
更大=timeForTrolley2;
较小=timeForTrolley1;
}
对于(int i=1;i
public static int timeLapsed(int perimeter1, int speed1, int perimeter2, int speed2) {
int timeForTrolley1 = perimeter1/speed1,timeForTrolley2 = perimeter2/speed2;
int greater,smaller;
int result = 0;
if(timeForTrolley1 > timeForTrolley2) {
greater = timeForTrolley1;
smaller = timeForTrolley2;
} else {
greater = timeForTrolley2;
smaller = timeForTrolley1;
}
for(int i=1;i<=smaller;i++) {
if(((greater*i)%smaller)==0) {
result = greater*i;
break;
}
}
return result-10;
}