[アルゴリズム]白準1731号-推論
質問リンク:https://www.acmicpc.net/problem/1731
質問する
等差が整数の等差数列(ある数に1つの数を加えた数列)は、2つの数字で表すことができます.Pは数列の最初の数であり、Qは次の数になるために前の数に加算しなければならない数である.例えば、P=1、Q=2の場合、その等差数列は1、3、5、7…いいですよ.
等比が整数の等比数列(ある数から順に同じ数を乗じた数列)は、近似的に2つの数字で表すことができる.Pは数列の最初の数で、Qは前の数を乗じた数です.例えば、P=3、Q=2の場合、等比数列は3、6、12…いいですよ.
テディは世界で数学が一番好きな人で、毎日この数列が等差数列なのか等差数列なのかを決めて、次の数を求めます.
数列を指定する場合は、その数列のルールが等差数列か等差数列かを決定し、次の出現する数列を求めるプログラムを作成します.
入力
第1行は、数列の長さNを与える.2行目から、N行は数列の各要素を順次与える.与えられた数列は、等差数列または等比数列の1つです.Nは常に3以上50以下で、入力した数字は10^6以下の自然数です.
しゅつりょく
最初の行の出力数列の次の要素.この数字は20億以下です.
のり付け
これは、等差数列と等比数列のみを入力する条件での問題であり、
コード#コード#
質問する
等差が整数の等差数列(ある数に1つの数を加えた数列)は、2つの数字で表すことができます.Pは数列の最初の数であり、Qは次の数になるために前の数に加算しなければならない数である.例えば、P=1、Q=2の場合、その等差数列は1、3、5、7…いいですよ.
等比が整数の等比数列(ある数から順に同じ数を乗じた数列)は、近似的に2つの数字で表すことができる.Pは数列の最初の数で、Qは前の数を乗じた数です.例えば、P=3、Q=2の場合、等比数列は3、6、12…いいですよ.
テディは世界で数学が一番好きな人で、毎日この数列が等差数列なのか等差数列なのかを決めて、次の数を求めます.
数列を指定する場合は、その数列のルールが等差数列か等差数列かを決定し、次の出現する数列を求めるプログラムを作成します.
入力
第1行は、数列の長さNを与える.2行目から、N行は数列の各要素を順次与える.与えられた数列は、等差数列または等比数列の1つです.Nは常に3以上50以下で、入力した数字は10^6以下の自然数です.
しゅつりょく
最初の行の出力数列の次の要素.この数字は20億以下です.
のり付け
これは、等差数列と等比数列のみを入力する条件での問題であり、
n[2]-n[1] = n[1]-n[0]
の条件を満たす限り、等差数列であり、それ以外にも等比数列で処理し、最後のインデックスの値から差分値を出力する.コード#コード#
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] n = new int[num];
for(int i=0;i<n.length;i++)
{
n[i] = sc.nextInt();
}
sc.close();
if(n[2]-n[1] == n[1]-n[0])
System.out.print(n[n.length-1] + (n[1]-n[0]));
else
System.out.print(n[n.length-1] * (n[1]/n[0]));
}
}
Reference
この問題について([アルゴリズム]白準1731号-推論), 我々は、より多くの情報をここで見つけました https://velog.io/@cjhlsb/Algorithm-백준-1731번-추론テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol