AIZU ONLINE JUDGE チャレンジログ

AIZU ONLINE JUDGE チャレンジログ

数学は愚か算数すらまともにできない
プログラミング適性検査28点の壮絶超ど素人
の無謀とも言える
AIZU ONLINE JUDGE チャレンジ
の赤裸々な記録

Amebaでブログを始めよう!

突然このブログ見たあなた・・・・
ごめんなさいm(_ _ )m
このブログは私的備忘録ちっくな使い方をしているので、
コンテンツとしては一部の変態さん以外全く面白みが無いとおもわれ
ます。
したがって一部の変態さん以外はどうぞ広大な
Webの世界へお戻り頂きますこと心より望みます。

PrintaRectangle
/**
 * たてH cm よこ W cm の長方形を描くプログラムを作成して下さい。
 * 1 cm × 1cm の長方形を '#'で表します。
 * Input 入力は複数のデータセットから構成されています。
 * 各データセットの形式は以下のとおりです:
 * H W H,Wがともに0の時入力は終了。
 * 各データセットの後に、1つの空行を入れて下さい。
 * 条件 H, W ? 300
 * @version 1.0
 * @author otaenta
*/

import java.util.Scanner;

class PrintaRectangle{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//スキャナー作る
StringBuilder all = new StringBuilder();//合計用?変数
StringBuilder out = new StringBuilder();//表示用変数
while(true){//----------------------------------+
int h = sc.nextInt();//縦取り込み
int w = sc.nextInt();//横取り込み
if((h + w) <= 0){break;}//入力が 0 0 なら 繰り返し終了 
for(int j = 0; j < h; j++){//縦の計算----------------++
for(int i = 0; i < w; i++){//横の計算//----------+++
out = out.append("#");//out に横の数ぶん#格納
}//-----------------------------------------------+++
out = out.append("\n");//outに改行コード格納
}//--------------------------------------------------++
all = all.append(out + "\n");//格納した文字列と改行文字をallに格納
out.delete(0, out.length());//outを初期化
}//----------------------------------------------+
//0 0が入力されループ抜けたのでallに格納された全てを表示
System.out.print(all);
}
}
/**
* StringBuilderクラス。
* 文字列を追加整形するメソッド
* 引数.append(String str);
* String 引数の文字が追加される。 
* 引数の長さの分だけ文字列の長さが増える
* ※str = null n u l l の4文字が返される。
*/

PrintaFrame
**
 * たてH cm よこ W cm の枠を描くプログラムを作成して下さい。        
 * 1 cm × 1cm の長方形を '#'で表します。
 * Input 入力は複数のデータセットから構成されています。
 * 各データセットの形式は以下のとおりです:
 * H W H,Wがともに0の時入力は終了。
 * 各データセットの後に、1つの空行を入れて下さい。
 * 条件 3<=H,W<=100
 * @version 1.0
 * @author otaenta
*/

import java.util.Scanner;

class PrintaFrame{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
StringBuilder all = new StringBuilder();
StringBuilder out = new StringBuilder();
while(true){
int h = sc.nextInt();
int w = sc.nextInt();
if((h + w) <= 0){break;}
//top
for(int t = 0; t < w; t++){
out = out.append("#");
}
out = out.append("\n");
//center
for(int j = 0; j < (h-2); j++){
out = out.append("#");
for(int i = 0; i < (w-2); i++){
out = out.append(".");
}
out = out.append("#");
out = out.append("\n");
}
//bottom
for(int b = 0; b < w; b++){
out = out.append("#");
}
out = out.append("\n");
//inputAll
all = all.append(out + "\n");
out.delete(0, out.length());
}
//output
System.out.print(all);
}
}


突然このブログ見たあなた・・・・
ごめんなさいm(_ _ )m
このブログは私的備忘録ちっくな使い方をしているので、
コンテンツとしては一部の変態さん以外全く面白みが無いとおもわれ
ます。
したがって一部の変態さん以外はどうぞ広大な
Webの世界へお戻り頂きますこと心より望みます。

ABProblem
/**
 * 二つの整数a,bを読み込みa ÷ bをして整数・あまり・浮動小数点表記をする。
 * 条件 1<=a,b<=1000000000
 * @version 1.0
 * @author otaenta
**/

import java.util.*;
class ABProblem{
public static void main(String[] args){
int a,b,d,r;//int型変数定義
double f;//不動小数点用変数定義
Scanner sc = new Scanner(System.in);
a = sc.nextInt();
b = sc.nextInt();
if(1 <= a && a <= Math.pow(10,9)){//条件 1<=a,b<=10の9乗
d = a / b;//a÷bあまりなし
r = a % b;//a÷bあまり
f = (double)a/b;//a÷b小数表示
System.out.printf(d + " " + r + " " + "%f",(double)f);
/**
*浮動小数点数を表示 System.out.printf("%f", x);
*/
}
}
}

Circle
/**
 * 半径rの円の面積と円周を求める
 * 条件 特になし
 * @version 1.0
 * @author otaenta
**/

import java.util.*;

class Circle{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double r = sc.nextDouble();
double pi = Math.PI;//円周率
double menseki = r * r * pi;//面積算出
double ensyu = 2 * r * pi;//円周算出
                
//計算結果を6桁で表示
System.out.printf("%.6f %.6f",menseki,ensyu);

/*参考
* http://www.mlab.im.dendai.ac.jp/javabasic/2011/datatype/
*/
}
}


SimpleCalculator 
/**
 * 2つの整数 a, b と1つの演算子 op を読み込んで、
 * a op b を計算するプログラムを作成して下さい。
 * ただし、演算子 op は、"+"(和)、"-"(差)、"*"(積)、"/"(商)、のみとし、
 * 割り算で割り切れない場合は、小数点以下を切り捨てたものを計算結果とします。
 * 条件 0 <= a, b <= 20000 # 0 による割り算が与えられることはありません。
 * @version 1.0
 * @author otaenta
 * */
import java.util.Scanner;

public class SimpleCalculator {
public static void main(String[] args){
int answer = 0;
String s[] = new String[3];
Scanner sc = new Scanner(System.in);
while(true){//入力があったら繰り返し開始-----------+
for(int i = 0; i<s.length; i++){
s[i] = sc.next();
}
int a = Integer.parseInt(s[0]);//計算に使用する数字はintにする。
String op = s[1];   //演算子は評価にも使用するからStringで
int b = Integer.parseInt(s[2]);//計算に使用する数字はintにする。
if(op.equals("?")){//?が入力されたらプログラム終了
break;
}else if(op.equals("+")){//それぞれの処理
answer=a+b;System.out.println(answer);
}else if(op.equals("-")){
answer=a-b;System.out.println(answer);
}else if(op.equals("*")){
answer=a*b;System.out.println(answer);
}else if(op.equals("/")){
answer=a/b;System.out.println(answer);
}
}//------------------------------------whileの範囲
sc.close();//Scannerをクローズする。
}
}

MinMaxAndSum
/**
 * n 個の整数 ai(i=1,2,...n)を入力し、
 * それらの最小値、最大値、合計値を求めるプログラムを作成してください。
 * 1行目に整数の数 n が与えられます。
 * 2行目に n 個の整数 ai が空白区切りで与えられます。
 * 条件 0<=n<=10000 # ?1000000<=ai<=1000000
 * @version 1.0
 * @author otaenta
**/
import java.util.*;

class MinMaxAndSum{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int cnt = sc.nextInt(); //入力データ数用
int fst; //比較初期値
int min = 0; //最大値用変数とりあえず0で初期化
int max = 0; //最小値用変数とりあえず0で初期化
long sum = 0;     //合計用変数
for(int i = 0; i < cnt; i++){
fst = sc.nextInt();
if(i == 0){min = max = fst;}
if(min > fst){ min = fst;}
if(max < fst){ max = fst;}
sum += fst;
}
System.out.println(min + " " + max + " " + sum);
}
}



突然このブログ見たあなた・・・・
ごめんなさいm(_ _ )m
このブログは私的備忘録ちっくな使い方をしているので、
コンテンツとしては一部の変態さん以外全く面白みが無いとおもわれ
ます。
したがって一部の変態さん以外はどうぞ広大な
Webの世界へお戻り頂きますこと心より望みます。



PrintManyHelloWorld
/**
 * Helloと標準出力に1000回表示
 * @version 1.0
 * @author otaenta
 * */

class PrintManyHelloWorld{
public static void main(String[] args){
for(int i=0;i<1000;i++){
System.out.print("Hello World\n");
}
}
}

PrintTestCases 
/**
 * オンラインジャッジでは、提出されたプログラムが
 * 複数の入力データそれぞれに対して正しい出力を行っているかを判定するために、
 * 1つの入力データファイルに複数のデータセットが含まれているものがあります。
 * この問題は、そのようなデータセットを処理するための練習問題です。
 * 1つの整数 x を読み込み、それをそのまま出力するプログラムを作成して下さい。
 * ただし、この問題は以下に示すようにいくつかのデータセットが与えられることに注意して下  * さい。
 * Input
 * 入力は複数のデータセットから構成されています。
 * 各データセットは1つの整数 x を含む1行から構成されています。
 * x が 0 のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。
 * Output
 * 各データセットごとに、以下の形式で x を出力して下さい:
 * Case i: x
 * ここで、i は1から始まるデータセットの番号を示します。
 * Caseと番号 iの間に1つの空白を入れて下さい。
 * また、:(コロン)と整数 x の間に1つの空白を入れて下さい。
 * Sample Input
 * 3
 * 5
 * 11
 * 7
 * 8
 * 19
 * 0
 * Sample Output
 * Case 1: 3
 * Case 2: 5
 * Case 3: 11
 * Case 4: 7
 * Case 5: 8
 * Case 6: 1
 * @version 1.0
 * @author otaenta
 * */

import java.io.*;
 
class PrintTestCases {
    public static void main(String[] args) throws java.io.IOException {
 
        BufferedReader input = new BufferedReader(new InputStreamReader(
                System.in));
        StringBuilder str = new StringBuilder();
 
        int i = 0;
 
        while (true) {
            i++;
            String tmp = input.readLine();
            int x = Integer.parseInt(tmp);
 
            if (x == 0)
                break;
 
            str.append("Case " + i + ": " + x + "\n");
 
        }
 
        System.out.print(str);
 
    }
}

SwappingTwoNumbers 
/**
 * 2つの整数 x, y を読み込み、それらを値が小さい順に出力するプログラムを作成して下さい。
 * 入力は複数のデータセットから構成されています。
 * 各データセットは空白で区切られた2つの整数 x, y を含む1行から構成されています。
 * x と y がともに 0 のとき入力の終わりを示し、
 * このデータセットに対する出力を行ってはいけません。
 * 各データセットごとに、x と y を小さい順に並べたものを1行に出力して下さい。
 * x と y の間には1つの空白を入れて下さい。
 * Sample Input
 * 3 2
 * 2 2
 * 5 3
 * 0 0
 * Sample Output
 * 2 3
 * 2 2
 * 3 5
 */
 
 import java.io.*;
 
class SwappingTwoNumbers {
    public static void main(String[] args) throws Exception {
        BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
        String str = null;
        while ((str = line.readLine()) != null) {
            String[] arr = str.split(" ");
            if ("0".equals(arr[0]) && "0".equals(arr[1]))
                break;
            int x = Integer.parseInt(arr[0]);
            int y = Integer.parseInt(arr[1]);
 
            if (x > y)
                System.out.println(y + " " + x);
            else
                System.out.println(x + " " + y);
        }
    }
}


HowManyDivisors
/**
 * 3つの整数 a、b、c を読み込み、a から b までの整数の中に、
 * c の約数がいくつあるかを求めるプログラムを作成してください。
 * 条件 # 1 <= a,b,c <= 10000  # a?b
 * @version 1.0
 * @author otaenta
**/

import java.util.*;

class HowManyDivisors{
public static void main(String[] args){
int s[]=new int[3];
Scanner sc = new Scanner(System.in);
for(int i=0;i<s.length;i++){
s[i]= sc.nextInt();
}
int a = s[0];//5
int b = s[1];//14
int c = s[2];//80
int cnt = 0;
for(int i = a; i <= b; i++){//i = aとbの差
if((c % i) == 0){//cをiで割ってあまりの出ない数を・・・
cnt++;//cntに足していくと、cntが約数のかずになる。
}
}
System.out.println(cnt);
}
}