「AOJ再挑戦問0~4」の編集履歴(バックアップ)一覧はこちら
「AOJ再挑戦問0~4」(2014/01/11 (土) 03:23:41) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*問0 QQ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0000&lang=jp
九九のリストを出力する問題。
**解法
簡単なので特に書くことなし。
#include<stdio.h>
int main(){
int a,b;
for(int a=1;a<=9;a++){
for(int b=1;b<=9;b++){
printf("%dx%d=%d\n",a,b,a*b);
}
}
return 0;
}
*問1 List of Top 3 Hills
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001
山の高さを高い順に3つ出力する問題。
**解法
簡単なので読み込んでSortするだけです。
#include<stdio.h>
#include<algorithm>
int main(){
int hs[10];
for(int i=0;i<10;scanf("%d",&hs[i++]));
std::sort(hs,hs+10);
printf("%d\n%d\n%d\n",hs[9],hs[8],hs[7]);
}
*問2 Digit Number
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0002
自然数a+bの桁数を出力する問題。
解法
足してlogとって1を足せば桁数です。
#include<stdio.h>
#include<math.h>
int main(){
int a,b;
while(scanf("%d %d",&a,&b)!=EOF){
printf("%d\n",(int)log10(a+b)+1);
}
}
*問3 Is it a Right Triangle?
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0003
3角形の3辺の長さが与えられるので直角三角形ならYESでないならNOと出力する問題。
解法
3平方の定理そのままですね。
#include<stdio.h>
int main(){
int a,b,c,n;
scanf("%d",&n);
while(n--){
scanf("%d %d %d",&a,&b,&c);
a=a*a;
b=b*b;
c=c*c;
printf("%s\n",(a+b==c || b+c==a || a+c==b)?"YES":"NO");
}
}
*問0 QQ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0000&lang=jp
九九のリストを出力する問題。
**解法
簡単なので特に書くことなし。
#include<stdio.h>
int main(){
int a,b;
for(int a=1;a<=9;a++){
for(int b=1;b<=9;b++){
printf("%dx%d=%d\n",a,b,a*b);
}
}
return 0;
}
*問1 List of Top 3 Hills
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001
山の高さを高い順に3つ出力する問題。
**解法
簡単なので読み込んでSortするだけです。
#include<stdio.h>
#include<algorithm>
int main(){
int hs[10];
for(int i=0;i<10;scanf("%d",&hs[i++]));
std::sort(hs,hs+10);
printf("%d\n%d\n%d\n",hs[9],hs[8],hs[7]);
}
*問2 Digit Number
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0002
自然数a+bの桁数を出力する問題。
解法
足してlogとって1を足せば桁数です。
#include<stdio.h>
#include<math.h>
int main(){
int a,b;
while(scanf("%d %d",&a,&b)!=EOF){
printf("%d\n",(int)log10(a+b)+1);
}
}
*問3 Is it a Right Triangle?
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0003
3角形の3辺の長さが与えられるので直角三角形ならYESでないならNOと出力する問題。
解法
3平方の定理そのままですね。
#include<stdio.h>
int main(){
int a,b,c,n;
scanf("%d",&n);
while(n--){
scanf("%d %d %d",&a,&b,&c);
a=a*a;
b=b*b;
c=c*c;
printf("%s\n",(a+b==c || b+c==a || a+c==b)?"YES":"NO");
}
}
*問4 Simultaneous Equation
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0004
2*2の行列演算を解く問題。
解法
高校数学に書いてある定義通り計算。
hintをちゃんと通るように-0.000を0.000にする記述を追加。
#include<stdio.h>
int main(){
double a,b,c,d,e,f,r,ansx,ansy;
while(scanf("%lf %lf %lf %lf %lf %lf",&a,&b,&c,&d,&e,&f)!=EOF){
r=a*e-d*b;
ansx=(e*c-b*f)/r;
ansy=(-d*c+a*f)/r;
if(ansx==0)ansx=0;
if(ansy==0)ansy=0;
printf("%.3lf %.3lf\n",ansx,ansy);
}
}