[伯俊-Java]基本数学2(7,8,9,10回)
11179 ワード
今日は幾何学に関する問題です.
この3つの問題はすべて簡単に解くことができる問題だ.
1085)矩形から脱出する
与えられた座標からなる矩形内のx,y座標が矩形からずれる最短距離問題.
これは1つの象限上の座標に関する問題であるため,x軸座標の差とy軸の差だけを要求すると容易に得られる.
ここで、トラップはxであり、yの座標は0に近いか、所与の座標に近いか.
この問題も象限の座標に関する問題です.
矩形の4つの点の中で3つの点を与えたとき、残りの1つの点を求める問題.
軸に平行なので、傾斜した矩形ではなく、直線矩形です.したがって、2つのx座標が同じ点、2つのy座標が同じ点が見つかる可能性があります.
例から得られた値は、(5、5)、(5、7)、(7、5)、1番と2番の座標がx座標であるため、この矩形の縦座標は7-5=2、1番と3番の座標はy座標であるため、この矩形の横座標は7-5=2である.
今回の問題はピタゴラスの定理を利用した問題です.
数式セクションをスキップして、数式を書く準備をします.
直角三角形の横と縦は斜面より小さいはずです.したがって、与えられたa、b、cにおいて、最大の値は斜面であるべきである.
a,b,cの最値を求め,直角三角形であることを式で判別できた.
最後の問題はタクシー幾何学です.
これは今日の問題の中で最も理解しにくいものです.
円の幅を求める問題は、私たちがよく使うpi*r^2ではなく、タクシージオメトリの方法で円を求める問題です.
この問題の要点を指摘する.ウォン: 点の集合で、平面上のある点に一定の距離がある 2 2点間の距離:D(T 1,T 2)=|x 1-x 2|+|y 1-y 2| 問題を見れば変なところがわかる.
私たちが知っている2点間の距離の公式とは全く違います.
これは,我々が知っている式が2点間の理論上の「最短距離」を求める式であるからである.
簡単に(0,0)と(1,1)を入れると、2点の間の距離は√2になります.しかし、ここには2という答えがあります.
答えを見つけるために、公式を見るべきです.
2点間の距離を求める式から見ると、「2点間の横+縦」です.それを図に描くと、次のような図が現れます.
上の画像から見ると、全く違う画像が出てきます.
ポイントはタクシージオメトリの円が横、縦同じダイヤモンドの形をしていることです.
上の幅を求めると2*r^2になります.
問題を解くのは難しくないが、ここ自体を考えると難しい.
おしゃべり
問題を解いてみると、なぜ「タクシー」なのかがわかります.
タクシーの最短距離に障害物があると仮定した場合、考えるべきです.
ビルの間でタクシーに乗るとき、最短距離を歩くために、ビルを通り抜けることはできません.
これらの計算は実際の生活にも役立つかもしれません.
これから開発者の仕事をするときも、このような柔軟な思考が必要だと思います.
この3つの問題はすべて簡単に解くことができる問題だ.
1085)矩形から脱出する
与えられた座標からなる矩形内のx,y座標が矩形からずれる最短距離問題.
これは1つの象限上の座標に関する問題であるため,x軸座標の差とy軸の差だけを要求すると容易に得られる.
ここで、トラップはxであり、yの座標は0に近いか、所与の座標に近いか.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String T = br.readLine();
int x = Integer.parseInt(T.split(" ")[0]);
int y = Integer.parseInt(T.split(" ")[1]);
int w = Integer.parseInt(T.split(" ")[2]);
int h = Integer.parseInt(T.split(" ")[3]);
int height = 0;
int width = 0;
if(h-y > y) height = y;
else height = h-y;
if(w-x > x) width = x;
else width = w-x;
if(height <= width) System.out.println(height);
else System.out.println(width);
}
}
3009)第四点この問題も象限の座標に関する問題です.
矩形の4つの点の中で3つの点を与えたとき、残りの1つの点を求める問題.
軸に平行なので、傾斜した矩形ではなく、直線矩形です.したがって、2つのx座標が同じ点、2つのy座標が同じ点が見つかる可能性があります.
例から得られた値は、(5、5)、(5、7)、(7、5)、1番と2番の座標がx座標であるため、この矩形の縦座標は7-5=2、1番と3番の座標はy座標であるため、この矩形の横座標は7-5=2である.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String T1 = br.readLine();
String T2 = br.readLine();
String T3 = br.readLine();
int x1 = Integer.parseInt(T1.split(" ")[0]);
int y1 = Integer.parseInt(T1.split(" ")[1]);
int x2 = Integer.parseInt(T2.split(" ")[0]);
int y2 = Integer.parseInt(T2.split(" ")[1]);
int x3 = Integer.parseInt(T3.split(" ")[0]);
int y3 = Integer.parseInt(T3.split(" ")[1]);
System.out.println(String.format("%d %d",check(x1,x2,x3),check(y1,y2,y3)));
}
public static int check(int a, int b, int c){
if(a == b) return c;
else if(a == c) return b;
else return a;
}
}
4153号)直角三角形今回の問題はピタゴラスの定理を利用した問題です.
数式セクションをスキップして、数式を書く準備をします.
直角三角形の横と縦は斜面より小さいはずです.したがって、与えられたa、b、cにおいて、最大の値は斜面であるべきである.
a,b,cの最値を求め,直角三角形であることを式で判別できた.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String T = br.readLine();
while(!T.equals("0 0 0")){
int a = Integer.parseInt(T.split(" ")[0]);
int b = Integer.parseInt(T.split(" ")[1]);
int c = Integer.parseInt(T.split(" ")[2]);
int max = max(a,b,c);
int tmp = 0;
if(max == 0){
tmp = a;
a = c;
c = tmp;
}
else if(max == 1){
tmp = b;
b = c;
c = tmp;
}
if(tri(a,b)==c) System.out.println("right");
else System.out.println("wrong");
T = br.readLine();
}
}
public static int max(int a, int b, int c){
int max = Math.max(a,b);
max = Math.max(max,c);
if(max == a) return 0;
else if(max == b) return 1;
else return 2;
}
public static double tri(int a, int b){
return Math.sqrt(a*a + b*b);
}
}
3053)タクシージオメトリ最後の問題はタクシー幾何学です.
これは今日の問題の中で最も理解しにくいものです.
円の幅を求める問題は、私たちがよく使うpi*r^2ではなく、タクシージオメトリの方法で円を求める問題です.
この問題の要点を指摘する.
私たちが知っている2点間の距離の公式とは全く違います.
これは,我々が知っている式が2点間の理論上の「最短距離」を求める式であるからである.
簡単に(0,0)と(1,1)を入れると、2点の間の距離は√2になります.しかし、ここには2という答えがあります.
答えを見つけるために、公式を見るべきです.
2点間の距離を求める式から見ると、「2点間の横+縦」です.それを図に描くと、次のような図が現れます.
上の画像から見ると、全く違う画像が出てきます.
ポイントはタクシージオメトリの円が横、縦同じダイヤモンドの形をしていることです.
上の幅を求めると2*r^2になります.
問題を解くのは難しくないが、ここ自体を考えると難しい.
おしゃべり
問題を解いてみると、なぜ「タクシー」なのかがわかります.
タクシーの最短距離に障害物があると仮定した場合、考えるべきです.
ビルの間でタクシーに乗るとき、最短距離を歩くために、ビルを通り抜けることはできません.
これらの計算は実際の生活にも役立つかもしれません.
これから開発者の仕事をするときも、このような柔軟な思考が必要だと思います.
Reference
この問題について([伯俊-Java]基本数学2(7,8,9,10回)), 我々は、より多くの情報をここで見つけました https://velog.io/@win6801/백준-Java-기본-수학-27-8-9번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol