11 蜜蜂飞舞
作者: Turbo时间限制: 1S章节: 基本练习(循环)
问题描述 :
“两只小蜜蜂呀,飞在花丛中呀……”
话说这天天上飞舞着两只蜜蜂,它们在跳一种奇怪的舞蹈。用一个空间直角坐标系来描述这个世界,那么这两只蜜蜂初始坐标分别为(x1,y1,z1),(x2,y2,z2) 。在接下来它们将进行n次飞行,第i次飞行两只蜜蜂分别按照各自的速度向量飞行ti个单位时间。对于这一现象,玮玮已经观察了很久。他很想知道在蜜蜂飞舞结束时,两只蜜蜂的距离是多少。现在他就求教于你,请你写一个程序来帮他计算这个结果。
输入说明 :
第一行有且仅有一个整数n,表示两只蜜蜂将进行n次飞行。
接下来有n行。
第i行有7个用空格分隔开的整数ai,bi,ci,di,ei,fi,ti ,表示第一只蜜蜂单位时间的速度向量为(ai,bi,ci) ,第二只蜜蜂单位时间的速度向量为(di,ei,fi) ,它们飞行的时间为ti 。
最后一行有6个用空格分隔开的整数x1,y1,z1,x2,y2,z2,如题所示表示两只蜜蜂的初始坐标。
输出说明 :
输出仅包含一行,表示最后两只蜜蜂之间的距离。保留4位小数位。
输入范例 :
3
1 1 1 1 -1 1 2
2 1 2 0 -1 -1 2
2 0 0 -1 1 1 3
3 0 1 2 0 0
输出范例 :
15.3948
import java.text.NumberFormat;
import java.util.Scanner;
public class test_11 {
/**
* 11 蜜蜂飞舞
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine();//调到下一行,类似c中的getchar
int[][] a=new int[n][7];
int[] position=new int[6];
input(scanner, n, a, position);
deal(n, a, position);
output(position);
}
private static void output(int[] position) {
double x;
double y;
double z;
double re;
x=Math.pow(position[3]-position[0],2);
y=Math.pow(position[4]-position[1],2);
z=Math.pow(position[5]-position[2],2);
re=Math.sqrt(x+y+z);
NumberFormat numberInstance = NumberFormat.getNumberInstance();
numberInstance.setMinimumFractionDigits(4);
System.out.println(numberInstance.format(re));
}
private static void deal(int n, int[][] a, int[] position) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < 6; j++) {
//当前向量 * 当前速度
a[i][j] *= a[i][6];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < 6; j++) {
//移动后的坐标
position[j]+=a[i][j];
}
}
}
private static void input(Scanner scanner, int n, int[][] a, int[] position) {
String s;
String[] split;
for (int i = 0; i <= n; i++) {
s = scanner.nextLine();
split = s.trim().split(" ");
if(i==n){
//last line
for (int j = 0; j < 6; j++) {
position[j]=Integer.valueOf(split[j]);
}
}else{
for (int j = 0; j < split.length; j++) {
a[i][j]=Integer.valueOf(split[j]);
}
}
}
}
}
蜜蜂飞舞距离计算

本文介绍了一个关于两只蜜蜂在三维空间中飞行后最终距离的计算问题。通过输入蜜蜂的初始坐标、飞行次数、每次飞行的速度向量及时间,程序能够准确计算并输出两只蜜蜂之间的距离,保留四位小数。
1822

被折叠的 条评论
为什么被折叠?



