Skip to content

Commit 6720166

Browse files
committed
SPOJ Problems
1 parent 4ed73f1 commit 6720166

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# According to Wikipedia, an arithmetic progression (AP) is a sequence of numbers such that the difference of any two
2+
# successive members of the sequence is a constant. For instance, the sequence 3, 5, 7, 9, 11, 13, . . . is an arithmetic
3+
# progression with common difference 2. For this problem, we will limit ourselves to arithmetic progression whose common
4+
# difference is a non-zero integer.
5+
# On the other hand, a geometric progression (GP) is a sequence of numbers where each term after the first is found by
6+
# multiplying the previous one by a fixed non-zero number called the common ratio. For example, the sequence 2, 6, 18, 54, . . .
7+
# is a geometric progression with common ratio 3. For this problem, we will limit ourselves to geometric progression whose
8+
# common ratio is a non-zero integer.
9+
# Given three successive members of a sequence, you need to determine the type of the progression and the next successive
10+
# member.
11+
#
12+
# Input
13+
#
14+
# Your program will be tested on one or more test cases. Each case is specified on a single line with three integers
15+
# (−10, 000 < a1 , a2 , a3 < 10, 000) where a1 , a2 , and a3 are distinct.
16+
# The last case is followed by a line with three zeros.
17+
#
18+
# Output
19+
#
20+
# For each test case, you program must print a single line of the form:
21+
# XX v
22+
# 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.
23+
#
24+
# Example
25+
#
26+
# Input:
27+
# 4 7 10
28+
# 2 6 18
29+
# 0 0 0
30+
#
31+
# Output:
32+
# AP 13
33+
# GP 54
34+
35+
while(True):
36+
a, b, c = map(int, input().split())
37+
if a == b == c == 0:
38+
break
39+
if b-a == c-b:
40+
print ('AP', c + b - a)
41+
else:
42+
print ('GP', c * (b // a))

0 commit comments

Comments
 (0)