CODYコンテスト2020CUP17の質問すべてに挑戦

問題1974。短辺の長さ

長さcの斜辺を持つ直角三角形の短辺a、および長さbの他の短辺の長さを計算します。

直角三角形の斜辺の長さcと一方の短辺の長さbが与えられた場合、もう一方の短辺の長さaを求めます。ピタゴラス法を直接使用します。a = \ sqrt {c ^ 2-b ^ 2}

function a = calculate_short_side(b, c)
  a = sqrt(c^2-b^2);
end

質問2問題2018。ひし形の側面

ひし形の対角線の長さがxとx + 1の場合、その辺の長さyはどれくらいですか?

ひし形の2つの対角線がそれぞれxとx + 1である場合、ひし形の辺の長さyを見つけます。

ひし形の特性から、2点の対角線は互いに垂直であり、垂直点はそれらの中点であることがわかります。したがって、ひし形は同じ長さの4辺を持つ直角三角形と見なすことができます。ひし形の辺の長さyは直角三角形の辺の斜めと見なすことができ、2つの直角の辺の長さは対角線の半分です。

function y = rhombus_side(x)
  y = sqrt((x/2)^2+((x+1)/2)^2);
end

3番目の質問問題2017。正三角形の辺

正三角形の面積がAの場合、その各辺の長さxはどれくらいですか?

正三角形の面積はAです。辺の長さxを見つけます。正三角形の面積の式に従って,,,そう

function x = side_length(A)
  x = sqrt(4*A/sqrt(3));
end

質問4問題2016。正三角形の面積

辺xの正三角形の面積を計算します。

辺の長さがxの正三角形の面積を計算することは、3番目の問題の逆問題です。

function y = equilateral_area(x)
  y = sqrt(3)/4*x*x;
end

質問5問題2015。斜辺の長さ

長さaとbの短辺が与えられた場合、直角三角形の斜辺の長さcを計算します。

直角三角形の短辺aとbが与えられた場合、斜辺cを見つけます。質問グループ「MATLAB入門」にも掲載されました


function c = hypotenuse(a,b)
  c = sqrt(a^2+b^2);
end

6番目の質問と最初の質問が繰り返されます

質問7問題2024。三角形のシーケンス 

この質問は、この質問で最も興味深い質問の1つと見なすことができますが、質問の説明は非常に長いです。

三角形のシーケンスは、次の方法で作成されます。

1)最初の三角形はピタゴラスの3-4-5三角形です

2)2番目の三角形は直角三角形で、2番目に長い辺は最初の三角形の斜辺であり、最も短い辺は最初の三角形の2番目に長い辺と同じ長さです。

3)3番目の三角形は、2番目に長い辺が2番目の三角形の斜辺であり、最も短い辺が2番目の三角形の2番目に長い辺と同じ長さである直角三角形などです。

シーケンス内の各三角形は、2番目に長い辺が前の三角形の斜辺であり、その最短の辺が前の三角形の2番目に長い辺と同じ長さになるように構成されます。

シーケンスのn番目の三角形の斜辺を辺とする正方形の面積はどれくらいですか?

 

大まかに言えば、最初の三角形は一辺の長さが3.4.5の直角三角形です。2番目の直角三角形から始めて、三角形の2番目の長辺(2つの短辺の長辺)は次のようになります。前の直角三角形のhypotenuse。最短の辺は前の直角三角形の2番目の長辺です。

わかりにくいので絵を描きました

左から右にセクション1.2です。n個の三角形、k番目の直角三角形の2つの直角三角形は、k-1番目の直角三角形の最大の2つの辺です。辺の長さをサイズと外観の順に並べてから、[3 、4,5、sqrt(41)、sqrt(66)、...]最初の三角形は、この配列の1番目から3番目の辺で構成され、2番目の三角形は2から4というように、フィボナッチシーケンス、ただしプログレッシブ条件は、ルート記号の下にある最初の2つの数値の2乗の合計です。

この質問では、n番目の三角形の斜辺の二乗を返す必要があります。辺の長さの二乗はフィボナッチ数列を直接満たすため、辺の長さの二乗は直接計算できます。

function area = triangle_sequence(n)
  a(1)=9;
  a(2)=16;
  for i=1:n
      a(i+2)=a(i+1)+a(i);
  end
  area = a(n+2);
end

質問8問題2023。この三角形は直角ですか?

任意の3つの正の数a、b、cが与えられた場合、辺がa、b、cの三角形が直角の場合はtrueを返します。それ以外の場合は、falseを返します。

辺の長さがa、b、cの場合、形成された三角形が直角三角形であるかどうかを判断します。cは斜辺ではないことに注意してください。

したがって、abcの最大の辺を斜辺として、他の2つの短辺を直角の辺として見つけ、ピタゴラスの定理を使用して判断する必要があります。

function flag = isRightAngled(a,b,c)
    abc=[a,b,c];
    max_abc=max(abc);
  flag =(max_abc)^2==sum(abc(abc<max_abc).^2);
end

もう1つの方法は、abcを並べ替えることです。次に、3番目の数値は斜辺で、最初の2つは短辺であり、これも判断できます。

質問9問題2022。ピタゴラストリプルを見つける

a <b <c <dの昇順で提供される4つの異なる正の数、a、b、c、およびdが与えられた場合、それらの3つが直角三角形の辺を構成するかどうかを調べます。そうである場合はtrueを返し、そうでない場合はfalseを返します。

a <b <c <dを満たす4つの数abcdが与えられた場合、3つの数が直角三角形を形成できるかどうかを判断します。

最初の方法は、bcd / acd / abd / abcの4つの条件が1つを満たしていることを確認することです。2番目の式は、それらを順番に配列に入れてから、一度に1つを種から削除し、残りが満たされているかどうかを判断することです。

function flag = isTherePythagoreanTriple(a, b, c, d)
  
  for i=1:4
      abcd=[a,b,c,d];
      abcd(i)=[];
      if(abcd(1)^2+abcd(2)^2==abcd(3)^2)
          flag=true;
          return;
      end
  end
  flag= false;
end

質問10問題2021。この三角形は直角ですか?

3つの正の数a、b、c(cは最大数)が与えられた場合、辺がa、b、cの三角形が直角の場合はtrueを返します。それ以外の場合は、falseを返します。

これは、cが最大のエッジであると規定している8番目の質問とは少し異なり、直接判断できます。

function flag = isRightAngled(a, b, c)
  flag = c^2==a^2+b^2;
end

質問11問題2020。二等辺三角形の面積

二等辺三角形は、長さxの等しい辺と長さyの底辺を持ちます。三角形の面積Aを見つけます。

二等辺三角形のウエストの長さxとベースyが与えられた場合、その領域を見つけます。

最初に高さを見つけます。高さと下端は下端の中点に垂直なので、高さはウエストの長さと下端の半分に従って計算されます。

その場合、面積は底辺に高さを掛けて2で割った値に等しくなります。

function A = isocelesArea(x,y)
  A = 0.5*y*sqrt(x^2-0.25*y^2);
end

12番目の質問問題2019。長方形の寸法

長方形の長辺は短辺の長さの3倍です。対角線の長さがxの場合、長方形の幅と長さを見つけます。

長辺が短辺の3倍で、対角線の長さがxであることを知って、長辺(長さ)と短辺(幅)を見つけます。

幅(短辺)をyとすると、長さは3yです。ピタゴラスの定理によれば、10y ^ 2 = x ^ 2なので、y = sqrt(0.1)xで、長さは3 * yです。

function [width, length] = findRectangleDimensions(x)
  width = sqrt(0.1)*x;
  length = 3*width;
end

13番目の質問と2番目の質問が繰り返されます

質問14と3が繰り返し表示されます

質問15と4が繰り返し表示されます

質問16と5が繰り返し表示されます

質問17と11が繰り返されます

 

一部の質問が他の質問グループに表示されることは理解できますが、この質問グループで6つの質問が2回繰り返される理由はわかりません。

おすすめ

転載: blog.csdn.net/qq_36614557/article/details/110532417