import java.util.Scanner;
public class SequenceTest {
public static void main(String[] args) {
// 숫자를 저장할 배열
int sequence[] = new int[5];
Scanner sc = new Scanner(System.in);
// 공백(space bar)을 기준으로 각 숫자 입력
for(int i=0; i<sequence.length; i++)
sequence[i] = sc.nextInt();
// 등차수열과 계차수열을 판단할 논리형 변수
boolean arithmetic = true;
boolean geometric = true;
// 계차수열의 패턴을 저장할 배열
int sequenceTemp[] = new int[4];
// 각각의 패턴 저장
for(int i=0; i<sequenceTemp.length; i++)
{
sequenceTemp[i] = sequence[i]-sequence[i+1];
}
// 계차수열을 판단할 논리형 변수
boolean difference = true;
// 배열을 처음부터 끝까지 반복(등차수열 확인)
for(int i=0; i<sequence.length-2; i++)
{
// 등차수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequence[i]-sequence[i+1] == sequence[i+1]-sequence[i+2])
arithmetic = true;
else
{
arithmetic = false;
break;
}
}
// 배열을 처음부터 끝까지 반복(등비수열 확인)
for(int i=0; i<sequence.length-2; i++)
{
// 등비수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequence[i+1]/sequence[i] == sequence[i+2]/sequence[i+1])
geometric = true;
else
{
geometric = false;
break;
}
}
// 계차 수열의 패턴이 들어있는 배열을 처음부터 끝까지 반복
for(int i=0; i<sequenceTemp.length-2; i++)
{
// 계차수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequenceTemp[i]-sequenceTemp[i+1] == sequenceTemp[i+1]-sequenceTemp[i+2])
difference = true;
else
{
difference = false;
break;
}
}
// 다음 수와 함께 출력
if(arithmetic)
System.out.println("다음 수 : "+(sequence[4]-(sequence[0]-sequence[1]))+", 등차추열");
if(geometric)
System.out.println("다음 수 : "+(sequence[4]*(sequence[0]/sequence[1]))+", 등비수열");
if(difference)
System.out.println("다음 수 : "+(sequence[4]-(sequenceTemp[3]-(sequenceTemp[0]-sequenceTemp[1])))+", 계차수열");
if(arithmetic=geometric=difference=false)
System.out.println("등차, 등비, 계차 수열 아님");
}
}
public class SequenceTest {
public static void main(String[] args) {
// 숫자를 저장할 배열
int sequence[] = new int[5];
Scanner sc = new Scanner(System.in);
// 공백(space bar)을 기준으로 각 숫자 입력
for(int i=0; i<sequence.length; i++)
sequence[i] = sc.nextInt();
// 등차수열과 계차수열을 판단할 논리형 변수
boolean arithmetic = true;
boolean geometric = true;
// 계차수열의 패턴을 저장할 배열
int sequenceTemp[] = new int[4];
// 각각의 패턴 저장
for(int i=0; i<sequenceTemp.length; i++)
{
sequenceTemp[i] = sequence[i]-sequence[i+1];
}
// 계차수열을 판단할 논리형 변수
boolean difference = true;
// 배열을 처음부터 끝까지 반복(등차수열 확인)
for(int i=0; i<sequence.length-2; i++)
{
// 등차수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequence[i]-sequence[i+1] == sequence[i+1]-sequence[i+2])
arithmetic = true;
else
{
arithmetic = false;
break;
}
}
// 배열을 처음부터 끝까지 반복(등비수열 확인)
for(int i=0; i<sequence.length-2; i++)
{
// 등비수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequence[i+1]/sequence[i] == sequence[i+2]/sequence[i+1])
geometric = true;
else
{
geometric = false;
break;
}
}
// 계차 수열의 패턴이 들어있는 배열을 처음부터 끝까지 반복
for(int i=0; i<sequenceTemp.length-2; i++)
{
// 계차수열임이 성립하면 논리변수에 true, 하나라도 성립하지 않으면 false 후, break
if(sequenceTemp[i]-sequenceTemp[i+1] == sequenceTemp[i+1]-sequenceTemp[i+2])
difference = true;
else
{
difference = false;
break;
}
}
// 다음 수와 함께 출력
if(arithmetic)
System.out.println("다음 수 : "+(sequence[4]-(sequence[0]-sequence[1]))+", 등차추열");
if(geometric)
System.out.println("다음 수 : "+(sequence[4]*(sequence[0]/sequence[1]))+", 등비수열");
if(difference)
System.out.println("다음 수 : "+(sequence[4]-(sequenceTemp[3]-(sequenceTemp[0]-sequenceTemp[1])))+", 계차수열");
if(arithmetic=geometric=difference=false)
System.out.println("등차, 등비, 계차 수열 아님");
}
}