global k
if num // 10 == 0:
print('位数是:%s' % k)
else:
num1 = num // 10
k += 1
fun(num1)
if __name__ == '__main__':
while True:
global k
k = 1
a = input('输入一个数:')
fun(int(a))
我用的是递归解决的这个问题,并且不限制5位数的,可以随便输入正整数,要是限制位数的话加个判断就好了
#include <stdio.h>
int fun(int a,int n)
{
int t
for(t=1nn--)
t*=a
return t
}
int main()
{
int a,n
scanf("%d%d",&a,&n)
printf("%d\n",fun(a,n))
return 0
}