2010-09-01から1ヶ月間の記事一覧

AOJ - Problem 0010 : Circumscribed Circle of a Triangle

問題文 外接円の半径と外心を出力する問題です。 外接円と外心は高校生のときに習った記憶があります。 高校の教科書にも載っていると思います。 三角形が出てくるような幾何の問題では、正弦定理や余弦定理を使うことがあります。 外接円(wikipedia) 三角形…

AOJ - Problem 0009 : Prime Number

問題文 n以下の素数の個数を出力する問題です。 1は素数ではないので気をつけましょう。 素数の問題ではエラトステネスのふるいを使うことが多いです。 エラトステネスのふるいについての説明はwikipediaに詳しく載っています。 とてもわかりやすいので一度…

AOJ - Problem 0008 : Sum of 4 Integers

問題文 4つの整数a,b,c,dの和がnになる組み合わせ数を出力する問題です。 整数の範囲が0〜9なので4重forループという力任せなやり方でも通ります(ぉぃ #include <iostream> using namespace std; int main(){ int n,ans; while( cin >> n ){ ans = 0; if(n<=36){ for(</iostream>…

AOJ - Problem 0007 : Debt Hell

AOJ

問題文 利子を計算するだけの問題です。 #include <iostream> using namespace std; int main(){ int money = 100000; int n; cin >> n; for(int i=0 ; i</iostream>

AOJ - Problem 0006 : Reverse Sequence

問題文 文字列を逆にして出力する問題です。 なお最後に改行を出力しないとWAになるので注意しましょう! #include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ string s; while ( cin >> s ) { reverse( s.begin() , s.end() ); cout << s << e</algorithm></string></iostream>…

AOJ - Problem 0005 : GCD and LCM

問題文 2つの整数値の最大公約数と最小公倍数を出力する問題です。 最大公約数と最小公倍数についてはwikipediaにも載っています。 最大公約数 最小公倍数 #include <iostream> using namespace std; int gcd(int a, int b){ return (b>0)? gcd(b, a%b) : a ; } int l</iostream>…

AOJ - Problem 0004 : Simultaneous Equation

AOJ

問題文 連立方程式を解く問題です。yについて変形し代入し、xを求めます。 とても無駄が多く参考にならないコードです(汗) 一応Acceptしていますが… 問題文の下の方のHintにも書いていますが、xが-0になることがありますが、-0.000と出力するとWAになるので…

AOJ - Problem 0003 : Is it a Right Triangle?

AOJ

問題文 3つの辺の長さを持つ三角形が直角三角形かどうか判定して出力する問題です。 多分中学校で習ったピタゴラスの定理を使います。 2つの辺の長さの2乗の和がもう一つの辺の長さの2乗と等しいか調べましょう。 辺が3つなので調べる組み合わせの3通…

AOJ - Problem 0002 : Digit Number

AOJ

問題文 2つの整数値の和の桁数を出力する問題です。 whileループで0になるまで10で割って代入します。 ループした回数が桁数になります。 #include <iostream> using namespace std; int main(){ int a, b, ans; while ( cin >> a >> b ) { a += b; ans = 0; while</iostream>…

AOJ - Problem 0001 : List of Top 3 Hills

問題文 10個の整数値のうち高い順に3つ出力する問題です。 STLを使うとソートを実装する必要がないのでとても楽です。 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ int n; vector<int> high; for(int i=0 ; i<10 ; i++){ cin >> n; high.pu</int></algorithm></vector></iostream>…

AOJ - Problem 0000 : QQ

AOJ

問題文 九九を1*1=1から9*9=81まで出力する問題です。 forで回すだけ、最初なので簡単ですね。 #include <iostream> using namespace std; int main(){ for(int i=1 ; i<=9 ; i++){ for(int j=1 ; j<=9 ; j++){ cout << i << "x" << j << "=" << (i*j) << endl; } } }</iostream>