目录
显示
题目链接
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)