1017 AをB(20点)で割る(JAVA)
1265 ワード
1017 AをB(20点)で割る
本題では、Aは1000ビットを超えない正の整数であり、Bは1ビットの正の整数であるA/Bの計算を要求する.A=Bになるように、商数Qと残数Rを出力する必要があります.×Q+Rが成り立つ.
入力形式:
1行にAとBの順に入力し、中央を1スペースで区切ります.
出力フォーマット:
1行にQとRを順次出力し、中間を1スペースで区切る.
サンプルを入力:
出力サンプル:
注意:emmm~最后の2つのサンプル、本当に.....タイムアウトしたり、タイムアウトしたりしません.
本題では、Aは1000ビットを超えない正の整数であり、Bは1ビットの正の整数であるA/Bの計算を要求する.A=Bになるように、商数Qと残数Rを出力する必要があります.×Q+Rが成り立つ.
入力形式:
1行にAとBの順に入力し、中央を1スペースで区切ります.
出力フォーマット:
1行にQとRを順次出力し、中間を1スペースで区切る.
サンプルを入力:
123456789050987654321 7
出力サンプル:
17636684150141093474 3
注意:emmm~最后の2つのサンプル、本当に.....タイムアウトしたり、タイムアウトしたりしません.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String[] s = bufferedReader.readLine().split(" ");
bufferedReader.close();
char[] str = s[0].toCharArray();
int num2 = s[1].charAt(0) -'0' ;
int r=0 ;
boolean flag = false;
String res="";
for( int i=0;i= num2 ) {
r = r - r/num2 *num2;
}
}
if( !flag )
System.out.print('0');
else System.out.print(res);
System.out.print(" "+ r );
}
}