33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdlib.h>
int max(int a, int b, int c)
{
if (a > b) {
if (a > c) {
return a;
}
else {
return c;
}
}
else {
if (b > c) {
return b;
}
else {
return c;
}
}
}
int func(int num)
{
if (num == 1 || num == 0) {
return 0;
}
if (num == 2) {
return 1;
}
int temp = (num % 3 == 0) ? num / 3 : num / 3 + 1;
return max(func(temp), func(temp), func(num - temp * 2)) + 1;
}
int main() {
int num;
scanf("%d", &num);
printf("%d\n", func(num));
return 0;
}