Task: | Kertoma |
Sender: | Sup |
Submission time: | 2022-11-03 17:55:58 +0200 |
Language: | Python3 (CPython3) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#2 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#3 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#4 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#5 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#6 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
#7 | WRONG ANSWER | 0.02 s | 2, 3 | details |
#8 | WRONG ANSWER | 0.02 s | 2, 3 | details |
#9 | WRONG ANSWER | 0.02 s | 2, 3 | details |
#10 | WRONG ANSWER | 0.02 s | 2, 3 | details |
#11 | WRONG ANSWER | 0.10 s | 3 | details |
#12 | WRONG ANSWER | 0.18 s | 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 3 | details |
#14 | TIME LIMIT EXCEEDED | -- | 3 | details |
#15 | TIME LIMIT EXCEEDED | -- | 3 | details |
#16 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
import math import 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 terminal the 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 = 1 x = str(y).split(" ") the_num_from_before_digits = 1 done = True input_amount_of_digits = 0 for a_digit in x: input_amount_of_digits += int(a_digit) calculated_logarithm = math.log(n, 10) num_of_digits = math.floor(calculated_logarithm) +1 while done: # this loop runs until we find the number that is factorialised, or until it finds that the input does not correspond a factorial if num_of_digits >= input_amount_of_digits+1: print("the number does not correspond to a factorial") print("the n: ", n) done = False if num_of_digits == the_num_from_before_digits and num_of_digits == input_amount_of_digits: the_factorial = math.factorial(n) 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 input if str(the_factorial).count(str(i)) == int(x[i]): amount_of_numbers_correct += 1 if amount_of_numbers_correct == 10: #this is finally the output code, that will show the number that is factorialised if the input is correct print("the number that is factorialised is: ", n) time_cost2 = time.time() print("the duration of the code : ", time_cost2-time_cost) done = False else: n += 1 calculated_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 digits the_factorial = math.factorial(n) amount_of_numbers_correct0 = 0 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 input if str(the_factorial).count(str(i)) == int(x[i]): amount_of_numbers_correct0 += 1 if amount_of_numbers_correct0 == 10: #this is finally the output code, that will show the number that is factorialised if the input is correct print("the number that is factorialised is: ", n) time_cost2 = time.time() print("the duration of the code : ", time_cost2-time_cost) done = False else: n += 1 calculated_logarithm += math.log(n, 10) num_of_digits = math.floor(calculated_logarithm) +1 else: #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 trigger the_num_from_before = n the_num_from_before_logarithm =math.log(the_num_from_before, 10) the_num_from_before_digits = math.floor(the_num_from_before_logarithm) +1 n += 1 calculated_logarithm += math.log(n, 10) num_of_digits = math.floor(calculated_logarithm) +1 logarithm_sums(num_of_digits)
Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
0 0 1 0 0 0 0 0 0 0 |
correct output |
---|
2 |
user output |
---|
: the number that is factorial... Truncated |
Test 2
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
0 0 0 0 0 0 1 0 0 0 |
correct output |
---|
3 |
user output |
---|
: the number that is factorial... Truncated |
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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... |
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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... 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 |
---|
: the number that is factorial... Truncated |
Test 11
Group: 3
Verdict: WRONG ANSWER
input |
---|
3419 1797 1845 1849 1879 1791 ... |
correct output |
---|
5959 |
user output |
---|
: the number that is factorial... Truncated |
Test 12
Group: 3
Verdict: WRONG ANSWER
input |
---|
4776 2695 2709 2781 2616 2753 ... |
correct output |
---|
8391 |
user output |
---|
: the number that is factorial... Truncated |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
20097 12282 12229 12214 12406 ... |
correct output |
---|
32001 |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
47934 29918 29878 29713 29984 ... |
correct output |
---|
71718 |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
84691 54156 54277 54533 54296 ... |
correct output |
---|
123123 |
user output |
---|
(empty) |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
99098 63339 63878 64182 63904 ... |
correct output |
---|
142663 |
user output |
---|
(empty) |