JAVAブルーブリッジカップ乗算アルゴリズムが改善します
資源制約の
制限時間:512.0メガバイト:メモリ制限を1.0秒
問題の説明は、
乗算プログラムを準備します。
100より小さい正の整数キーボード2、及び垂直に乗算出力から読み出します。
入力形式の
入力のみ一行スペースで区切られた2つの番号は、(1と99を含む)1と99の間です。
出力フォーマット
出力線4または7、ライン、乗算演算フォーマットの縦線。
サンプル入力
8913
サンプル出力
89
×13である
━━━
267
89
━━━
1157
1は、入力と出力のサンプルを示し
、3×89 = 267、次に第4行267は、整列右ビットを出力します。1×89 = 89は、5行目の右側の89は、10の出力を整列されます。= 1157 267 + 890は、1157は、次に、整列右ビットを出力します。
サンプル入力
168
サンプル出力
16
×8
━━━
128
サンプル2は、入力と出力示す
8×16 = 128、右ビットは整列し、次いで第4行128に出力します。計算され、もはや出力されません。
(文字形式は非常に嫌です聞いて、聞かないでください)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
int a=sca.nextInt();
int b=sca.nextInt();
String s1=String.valueOf(a);
String s2=String.valueOf(b);
if(s1.length()==1) {
System.out.println(" "+s1);
}else {
System.out.println(" "+s1);
}
if(s2.length()==1) {
System.out.println("× "+s2);
}else {
System.out.println("×"+s2);
}
System.out.println("━━━");
if(s2.length()==1) {
System.out.println(" "+a*b);
}else {
int c=b/10;
int d=b%10;
int re=d*a;
String temp=String.valueOf(re);
String temp2=String.valueOf(c*a);
String temp3=String.valueOf(a*b);
if(temp.equals("0")) {
temp="00";
}
while(temp.length()!=4) {
temp=" "+temp;
}
if(temp3.length()==4) {
System.out.println(temp);
System.out.println(temp2);
System.out.println("━━━");
System.out.println(temp3);
}else {
System.out.println(temp);
System.out.println(" "+temp2);
System.out.println("━━━");
System.out.println(" "+temp3);
}
}
}
}