VB大神,帮我分析一下这道题,怎么做?
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
展开全部
答案: 17 178 178
程序执行的只要步骤
1、fun(15768): 进入else中,执行 fun(15768 \ 100) * 10 + 15768 mod 10, 因为15768\100=157,第一次,递归执行 fun(157)
2、fun(157): 同上,第二次 递归执行 fun(1), 执行 fun= x mod 10 =1,这里第二次递归结束,由于没有进入else中所以,没有执行 print fun, 返回 fun(157)
3、fun(157): 此时程序还在 else 中 fun= fun(1) * 10 + x mod 10,即 fun= 1 * 10 + 157 mod 10 = 17, 然后执行 print fun, 即 打印 17, 返回 fun(15768), 第一次递归结束
4、fun(15768):同上,此时程序还在 else 中 fun=fun(157) *10 +x mod 10,即 fun=17 * 10 + 15768 mod 10 = 178,然后执行 print fun,即打印 178,
5、最后在form_load中 执行 print fun(x) ,即再次打印178
程序执行的只要步骤
1、fun(15768): 进入else中,执行 fun(15768 \ 100) * 10 + 15768 mod 10, 因为15768\100=157,第一次,递归执行 fun(157)
2、fun(157): 同上,第二次 递归执行 fun(1), 执行 fun= x mod 10 =1,这里第二次递归结束,由于没有进入else中所以,没有执行 print fun, 返回 fun(157)
3、fun(157): 此时程序还在 else 中 fun= fun(1) * 10 + x mod 10,即 fun= 1 * 10 + 157 mod 10 = 17, 然后执行 print fun, 即 打印 17, 返回 fun(15768), 第一次递归结束
4、fun(15768):同上,此时程序还在 else 中 fun=fun(157) *10 +x mod 10,即 fun=17 * 10 + 15768 mod 10 = 178,然后执行 print fun,即打印 178,
5、最后在form_load中 执行 print fun(x) ,即再次打印178
追问
谢谢😜
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询