石油王の石油掘削日誌

私立高専2年生です。プログラミング初めて半年と少しくらいたちましたが全然できないのでやっぱり時間が足りない気がする。

AOJ0016

最近またAOJやり始めた

最近数学が一段落ついたので英語もあんまりわからないしAOJを始めた。大体20問くらいしか解いてないので競技プログラミングも数学も英語も中途半端なので、とても気色悪いしやり始めようかなって。楽しいし。

AOJ0016宝探しの問題

学校で解いてて5秒くらい考え「あ、よゆうー三角関数やんけー」とか思ってた。しかし何故かx座標をcosで、y座標をsinで求めたのにxとyの値が逆になっていて「ん?」となりフリーズ。少し考えるとこの角度というのが正の数の場合に右回りと書いてあるので常に半周期ずれてるってことに気づいて解決した。

方針としては、移動する点は歩く距離を半径として考えた時の円上の座標だし角度と歩く距離を使って三角関数しようって感じ。C#でやりました。後いっつもsplit忘れる・・・・

ソースコード

using System;

class main
{
static void Main(string[] args)
{
double x=0.0;
double y=0.0;
double angle=0.0;
while (true)
{
var str = Console.ReadLine().Split(',');
var r = int.Parse(str[0]);
var angle_temp= int.Parse(str[1]);
if ((r == 0) && (angle_temp == 0))break;
var rad = angle / 180.0 * Math.PI;
var sin = r * Math.Sin(rad);
var cos = r * Math.Cos(rad);
x += sin;
y += cos; 
angle += angle_temp;
}
Console.WriteLine((int)x);
Console.WriteLine((int)y);
}
}

基本情報技術者試験受けてきました

 基本情報技術者試験受けてきました。午前試験も午後試験も自己採点したら通ってて「よっしゃ単位2つゲットや」とか思ってたら、先輩から午後試験には選択した問題をマークするとこがマークシートの左上にあると聞いて震えた。受験番号と生年月日を書いてすぐに問題にとりかかったので全然気づかなかった・・・。IPA様合格させて下さい。合格したら学校に合格証書を持って行くらしいんだけど「午前だけ合格しました!」なんて恥ずかしくて持っていく気になれない。午前も午後も気分的にはもう合格したんでこのまま秋に応用受けようかと思います。

夏・・学校のやつでアメリカに短期留学する。留学というけど余り勉強するという文化に触れるといった感じなので行って自分でひたすら英語やろうと思う。

秋・・TOEICを一回受けてみる。多分自分の実力知ってへこむ。応用情報も受けてみる。難しいらしいし落ちそう。なんか前先輩が言っていたアプリ選手権に応募したいけど同級生にやりそうな友達がいないのできつい。

冬・・数検準一級受けよう

 

解と係数の関係の話

数Ⅱに「解と係数の関係」というものがあるんですが、通っている高専では二年生の頃の今頃やるというので、やってみた。

 

ax² + bx + c = 0  (a≠0)の二つの解をα , βにする。そしてax² + bx + cから考えると以下の通りになる。

f:id:Sekiyu_nHr:20151116184430j:plain

まあなんてことない普通なこと。実はこれには応用があって三次方程式の解と係数も求めることができる。

 

手順は

①ax³ + bx² + cx + d = 0  (a≠0) の両辺をaで割って解をα , β , γとして(x - α)(x - β)(x - γ)

②展開するとx³ - ( α + β + γ )x² + (αβ + βγ + αγ)x - αβγ

③比較するとα + β + γ = -b/a , αβ + βγ + αγ = c/a , αβγ= - d/a

この時見てわかる通りα + β + γ , αβ + βγ + αγ , αβγ の三つは3変数の基本対象式※₁になっている。

 

さっき対称式の問題を解いて思ったのは対称式は対称なままに形変えた方がやりやすいかなーと思った。

 

※₁基本対象式っていうのは x + y や xy のように全ての対称式の基礎になるみたいな感じの対称式。