ACPC10A - What’s Next

no tags 

According to Wikipedia, an arithmetic progression (AP) is a sequence of numbers such that the difference of any two successive members of the sequence is a constant. For instance, the sequence 3, 5, 7, 9, 11, 13, . . . is an arithmetic progression with common difference 2. For this problem, we will limit ourselves to arithmetic progression whose common difference is a non-zero integer.
On the other hand, a geometric progression (GP) is a sequence of numbers where each term after the first is found by multiplying the previous one by a fixed non-zero number called the common ratio. For example, the sequence 2, 6, 18, 54, . . . is a geometric progression with common ratio 3. For this problem, we will limit ourselves to geometric progression whose common ratio is a non-zero integer.
Given three successive members of a sequence, you need to determine the type of the progression and the next successive member.


Your program will be tested on one or more test cases. Each case is specified on a single line with three integers (−10, 000 < a1 , a2 , a3 < 10, 000) where a1 , a2 , and a3 are distinct.
The last case is followed by a line with three zeros.


For each test case, you program must print a single line of the form:
XX v
where XX is either AP or GP depending if the given progression is an Arithmetic or Geometric Progression. v is the next member of the given sequence. All input cases are guaranteed to be either an arithmetic or geometric progressions.


4 7 10
2 6 18
0 0 0

AP 13
GP 54

hide comments
rish__01: 2020-09-20 18:35:56

i got the logic of the AP GP but I keep getting the while loop condition wrong. The series is quite simple

Last edit: 2020-09-20 18:38:06
aditigedam: 2020-08-24 13:06:54

1. "common ratio is a non-zero integer" don't believe at this think beyond this..
2. for GP try to cover all cases for either int or float values..

Last edit: 2020-08-24 13:07:28
singhar: 2020-08-21 05:32:56

for input 5 0 0 output should be 0.
hope this helps.

taran9873: 2020-08-10 09:48:56

be careful with while loop terminating condition!

foxface_ap: 2020-05-29 20:18:53

Why this gives WA when we use (a+c)/2 == b as if condition?

mahabir10: 2020-05-23 12:14:35

My 51th Problem

landi58: 2020-04-30 14:57:40

1. Take Float data type
2. Dont use (a2/a1)==(a3/a2), this will fail for 0 case. Use if (a2*a2)==(a1*a3)
3. check for cases -5 25 -125
answer should be GP 625
check for case 625 125 25
answer should be GP 5

Thats it..Good Luck..Easy problem

codinggeek719: 2020-04-15 23:28:22

inputs are integers as stated in question

shammya: 2020-03-28 04:03:21

The most easy problem in the known universe !
1.check condition for AP first
2.then do the same for GP
simple if else implementation...

yomf: 2020-01-05 06:52:30

Wrong statement, the input is not integers.
And careful with while loop.

Added by:Omar ElAzazy
Time limit:1.799s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:ACPC 2010