#35 迭代求解

本文通过多个项目展示了迭代法在求解不同问题中的应用,包括Fibonacci数列、迭代求和、反弹的皮球问题、Bessel函数计算以及财富计算。每个项目都包含运行结果和小结,讨论了迭代法相比于直接求解通项公式的优点,同时指出了编程过程中需要注意的细节和陷阱。
摘要由CSDN通过智能技术生成
项目1 迭代输出Fibonacci数列1 1 2 3 5 8 …n
/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018年1月15日
*版 本 号:v1.0
*问题描述:输出Fibonacci数列1 1 2 3 5 8...到n项
*/
#include <stdio.h>
int main()
{
    int f1=1,f2=1,fn,i=3,n;
    while (1)
    {
        scanf("%d",&n);
        if (n<3)
        {
            printf("Please input the right number!\n");
            continue;
        }
        else
            break;
    }
    printf("n=%d\n",n);
    printf("%d\t %d\t",f1,f2);
    while (i<=n)
    {
        fn=f1+f2;
        f1=f2;
        f2=fn;
        printf("%d\t",fn);
        if (i%6==0)
            printf("\n");       
        i++;
    }
    return 0;
}
运行结果

Fibonacci数列

项目2 另类求和

求 Sn=a+aa+aaa+…+aa…a之值,其中 a是一个数字。例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。

/*
*Copyright @2018,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018年1月15日
*版 本 号:v1.0
*问题描述:求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字,a和n均由键盘输入。
*/
#include <stdio.h>
int main()
{
    int a,n,i=1,Tn=0,Sn=0;
    scanf("%d %d",&a,&n);
    printf("a=%d n=%d\n",a,n);
    while (i<=n)
    {
        Tn=Tn*10+a;    //可直观看出无须推导
        Sn+=Tn;
        i++;
    }
    printf("Tn=%d\n",Tn);
    printf("Sn=a+aa+...=%d\n",Sn);
    return 0;
}
输出结果

这里写图片描述

小结

在求解Tn时可直观看迭代,无须推导。将数列通项公式求出就麻烦了,例如直接将第n项拆解为Xn=a+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值