求”水仙花数“,例:153是水仙花数,153=1*1*1 + 5*5*5 + 3*3*3

本文探讨了在编程中为何某些变量需要在循环内部声明及初始化,特别是针对求解特定问题时,如何正确地使用这些变量以确保算法的有效性和准确性。

注:

【1】 sum的声明和定义必须放在for循环以内,temp和k的声明和定义放在for循环外边和里边都可以。

          思考下,为什么sum的声明和定义必须放在for循环以内,因为sum要在每次i++时【归0】一次

【2】if 语句中的sum应该和 i 比较,和temp比较不会输出正确结果!

         思考下,while中计算的是temp,不是 i 

         i 在计算的过程中没有变过,变的是中间变量temp。

         如果你让 i 变,temp不变,然后if里边比较sum和temp是否相等,那么你不会得出正确的结果

         思考下这样做的道理。

 

另一种简单的方法:(第二种方法是笨方法,不是通用的方法,只适用于本题中的三位数,不适用于其他多位数,第一种方法比较通用)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值