I have been trying to solve an algorithm problem called Chebyshev's Theorem(https://www.acmicpc.net/problem/4948)
And I got an interesting situation. I haven't figured out the difference between yet. And I hope I can find the answer here.
And this is my code:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
while(true){
System.out.println("start!!");
int input = Integer.parseInt(br.readLine());
if(input == 0){
break;
}
int ddable = 2*input;
int answer = 0;
ArrayList<Integer> base = new ArrayList<>();
if(input == 1){
answer = 1;
}else {
System.out.println("It is not 1");
for(int i = 2 ; i <= ddable ; i++ ){
base.add(i);
}
for ( int i = 2 ; i <= ddable ; i++ ){
for ( int j = 2 ; i*j <=ddable ; j++){
if(base.contains(new Integer(i*j))){
base.remove(new Integer(i*j));
System.out.println(i*j+"removed");
}
}
}
int count = 0;
for ( int i = input ; i <= ddable ; i++){
if(base.contains(new Integer(i))){
count++;
}
}
answer = count;
}
System.out.println("syso: "+answer);
bw.write("bw: "+answer);
}
bw.flush();
br.close();
bw.close();
}
}
And this is my result:
As you can see, this just shows the result of 'System.out.prinln()'.
What's the reason?