目录
显示
题目链接
https://www.luogu.org/problem/P4157
题解
小清新找规律数学题?
我们先从比较小的整数开始找规律:
- \(4=2+2\)
- \(5=3+2\)
- \(6=3+3\)
- \(7=3+2+2\)
- \(8=3+3+2\)
- \(\ldots\)
我们发现对于任意一个大于等于 \(5\) 的整数,把它拆分成若干个 \(3\) 和 \(2\) 的和,且 \(3\) 的个数最多时乘积最大。
from math import *
n=int(input())
ans=1
while n>4 :
n=n-3
ans=ans*3
if n==4 :
ans=ans*4
elif n==3 :
ans=ans*3
elif n==2:
ans=ans*2
x=int(log(ans)/log(10))+1
print(x)
if x<=100 :
print(ans)
else :
while x>100 :
ans=ans//10
x=x-1
print(ans)