Task: | Kertoma |
Sender: | Sup |
Submission time: | 2023-09-03 19:31:21 +0300 |
Language: | Python3 (PyPy3) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.04 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.04 s | 1, 2, 3 | details |
#3 | WRONG ANSWER | 0.04 s | 1, 2, 3 | details |
#4 | WRONG ANSWER | 0.04 s | 1, 2, 3 | details |
#5 | WRONG ANSWER | 0.04 s | 1, 2, 3 | details |
#6 | WRONG ANSWER | 0.04 s | 1, 2, 3 | details |
#7 | WRONG ANSWER | 0.04 s | 2, 3 | details |
#8 | WRONG ANSWER | 0.04 s | 2, 3 | details |
#9 | WRONG ANSWER | 0.04 s | 2, 3 | details |
#10 | WRONG ANSWER | 0.04 s | 2, 3 | details |
#11 | WRONG ANSWER | 0.05 s | 3 | details |
#12 | WRONG ANSWER | 0.06 s | 3 | details |
#13 | WRONG ANSWER | 0.11 s | 3 | details |
#14 | WRONG ANSWER | 0.39 s | 3 | details |
#15 | WRONG ANSWER | 0.75 s | 3 | details |
#16 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
import mathimport time"""The code uses an input() variable from at the beginning to get the input of the digits.If you want to use the codde without the input, then please use: logarithm_sums(the input here as a string) in the python terminalthe code takes the input line the same way as it was shown in the example input on the Datatähti webpage."""num_of_digits = input("")time_cost = time.time()def logarithm_sums(y):n = 1x = str(y).split(" ")the_num_from_before_digits = 1done = Trueinput_amount_of_digits = 0for a_digit in x:input_amount_of_digits += int(a_digit)calculated_logarithm = math.log(n, 10)num_of_digits = math.floor(calculated_logarithm) +1while done: # this loop runs until we find the number that is factorialised, or until it finds that the input does not correspond a factorialif num_of_digits >= input_amount_of_digits+1:print("the number does not correspond to a factorial")print("the n: ", n)done = Falseif num_of_digits == the_num_from_before_digits and num_of_digits == input_amount_of_digits:the_factorial = math.factorial(n)the_factorial_string = str(the_factorial)amount_of_numbers_correct = 0#print("THE NUMBER FACTORIALISED IS: ", the_factorial)for i in range(10): # we make a loop to check every digit from 0 to 9 if the number (variable n) has the same amount opf them as the inputif the_factorial_string.count(str(i)) == int(x[i]):amount_of_numbers_correct += 1if amount_of_numbers_correct == 10: #this is finally the output code, that will show the number that is factorialised if the input is correctprint(n)#print("the number that is factorialised is: ", n)#time_cost2 = time.time()#print("the duration of the code : ", time_cost2-time_cost)done = Falseelse:n += 1calculated_logarithm += math.log(n, 10)num_of_digits = math.floor(calculated_logarithm) +1#print(num_of_digits)elif num_of_digits == input_amount_of_digits: # if our digits has finally got the same amount of digits as the input, this code will trigger, that checks the digitsthe_factorial = math.factorial(n)the_factorial_string = str(the_factorial)amount_of_numbers_correct0 = 0for i in range(10): # we make a loop to check every digit from 0 to 9 if the number (variable n) has the same amount opf them as the inputif the_factorial_string.count(str(i)) == int(x[i]):amount_of_numbers_correct0 += 1if amount_of_numbers_correct0 == 10: #this is finally the output code, that will show the number that is factorialised if the input is correctprint(n)print("the number that is factorialised is: ", n)time_cost2 = time.time()print("the duration of the code : ", time_cost2-time_cost)done = Falseelse:n += 1calculated_logarithm += math.log(n, 10)num_of_digits = math.floor(calculated_logarithm) +1else: #if the factorial of n (which at the end wil be the number that is factorialised) does not have as many digits as the input, this line else: statement will triggerthe_num_from_before = nthe_num_from_before_logarithm =math.log(the_num_from_before, 10)the_num_from_before_digits = math.floor(the_num_from_before_logarithm) +1n += 1calculated_logarithm += math.log(n, 10)num_of_digits = math.floor(calculated_logarithm) +1logarithm_sums(num_of_digits)
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
0 0 1 0 0 0 0 0 0 0 |
correct output |
---|
2 |
user output |
---|
2 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
0 0 0 0 0 0 1 0 0 0 |
correct output |
---|
3 |
user output |
---|
3 |
Test 3
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
0 0 1 0 1 0 0 0 0 0 |
correct output |
---|
4 |
user output |
---|
4 the number that is factorialis... Truncated |
Test 4
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
2 0 1 1 0 0 1 0 2 0 |
correct output |
---|
10 |
user output |
---|
10 the number that is factorialis... Truncated |
Test 5
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
9 3 1 1 2 2 3 1 6 1 |
correct output |
---|
27 |
user output |
---|
27 the number that is factorialis... Truncated |
Test 6
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
10 4 3 4 3 2 2 4 3 7 |
correct output |
---|
36 |
user output |
---|
36 the number that is factorialis... Truncated |
Test 7
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
71 53 36 30 25 29 42 24 34 29 |
correct output |
---|
199 |
user output |
---|
199 the number that is factorialis... Truncated |
Test 8
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
71 33 46 38 27 45 36 21 35 35 |
correct output |
---|
205 |
user output |
---|
205 the number that is factorialis... Truncated |
Test 9
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
93 38 35 26 43 54 38 25 41 34 |
correct output |
---|
222 |
user output |
---|
222 the number that is factorialis... Truncated |
Test 10
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
100 33 33 45 36 43 38 54 56 36 |
correct output |
---|
242 |
user output |
---|
242 the number that is factorialis... Truncated |
Test 11
Group: 3
Verdict: WRONG ANSWER
input |
---|
3419 1797 1845 1849 1879 1791 ... |
correct output |
---|
5959 |
user output |
---|
5959 the number that is factorialis... Truncated |
Test 12
Group: 3
Verdict: WRONG ANSWER
input |
---|
4776 2695 2709 2781 2616 2753 ... |
correct output |
---|
8391 |
user output |
---|
8391 the number that is factorialis... Truncated |
Test 13
Group: 3
Verdict: WRONG ANSWER
input |
---|
20097 12282 12229 12214 12406 ... |
correct output |
---|
32001 |
user output |
---|
32001 the number that is factorialis... Truncated |
Test 14
Group: 3
Verdict: WRONG ANSWER
input |
---|
47934 29918 29878 29713 29984 ... |
correct output |
---|
71718 |
user output |
---|
71718 the number that is factorialis... Truncated |
Test 15
Group: 3
Verdict: WRONG ANSWER
input |
---|
84691 54156 54277 54533 54296 ... |
correct output |
---|
123123 |
user output |
---|
123123 the number that is factorialis... Truncated |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
99098 63339 63878 64182 63904 ... |
correct output |
---|
142663 |
user output |
---|
(empty) |