文章目录
- #任务4.等差数列求和
- (一)编程实现
- (二)讲解知识点
- (三)扩展练习
- 任务1.打印水仙花数
- 任务5.打印九九乘法表
#任务4.等差数列求和
-任务:计算1+2+3+…+100的值
(一)编程实现
-创建net.lixin.src包,然后在包里创建Task04
-i++:后自增,先用后增
-运用程序,查看结果
-其实1+2+3+…+100跟100+99+…+3+2+1是等值的,因此for循环可以从100递减循环到1来计算
-大家不妨编程计算一下1+3+5+…+99
-第一种和第二种方法都循环了100次,但是第三种方法只循环了50次,效率更高些
(二)讲解知识点
(1)执行流程
-当循环条件成立时,执行循环,直到循环条件不成立时,终止循环
2.自增自减运算
(1)自增运算
-后自增:先用后增
-先自增:先增后用
(2)自减运算
-后自减:先用后减
-前自减:先减后用
(三)扩展练习
任务1.打印水仙花数
-所谓水仙花数,是指等于其个位数字立方和的三位数、
-分析问题首先水仙花是三位数,那么我们可以确定范围:[100,999],这个我们可以通过循环结构来搞定:
for(int n = 100; n<=999; n==)
...
}
-然后对这个范围的每个数n,我们都要去判断它是否等于其各位数字立方和,这里的难点或关键在于如何分解一个三位数,得到她的每位数字
-假设我们已经把三位数n分解成百位数p3,十位数p2,个位数p1,这样我们的筛选条件就可以写出来n==p3p3p3+p2p2p2+p1p1p1.
-如何拆分一个三位数你(375)呢?
-首先求n的个位数:n%10=375%10=5
然后要将三位数变成两位数:n=n/10=375/10=37
对于新的两位数,有求它的个位数:n%10=37/10=7
然后要将两位数变成有一位数:n=n/10=37/10=3
我们可以交替使用求余和整出运算将一个三位数拆分,得到它的个位数 十位数 百位数
当然这个分解方法可以推广到任何多为拆分
任务5.打印九九乘法表
在net,licin.src=-包里创建Task05==类