厦大C语言上机 1367 几何级数的计算机验证法

本文介绍了一种利用计算机程序验证几何级数收敛性的方法,当等式左右两边的差值绝对值小于10^-6时,认为等式成立,并输出此时等式的项数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1367.几何级数的计算机验证法


时间限制: 1000 MS          内存限制: 65536 K
        
提交数: 653 (0 users)          通过数: 270 (259 users)


问题描述
从前有棵树,叫高数,上面挂了许多人!这个传说一直言传至今!不过在小明看来,他肯定不会是那个会挂的人,他比其他提前预习了后面的章节,其中,他看了几何级数|x|<1 从理论上证明,他已经看懂了。但是,他想到,既然自己是学计算机的,何不借用计算机来进行验证?于是他开始编程……当等式左右两项之差的绝对值小于10^-6时,认定等式左右两项相等,请输出此时等式右边的项数n是多少!


输入格式
第一行输入一个整数T,代表有T组测试数据
对于每组测试数据,输入一个(-1,1)间的浮点数x


输出格式
输出每组测试数据的结果,各占一行


样例输入
9
0.1
0.2
0.3
0.4
0.5
-0.6
-0.7
-0.8
-0.9


样例输出
6
8
11
15
20
26
37
59
125


来源

xmu

#include <stdio.h>
#include <math.h>

int main()
{
    double x, real_value, sum_value, power;
    int t, i;

    scanf("%d", &t);
    while (t--)
    {
        scanf("%lf", &x);

        real_value = 1.0 / (1.0 - x);
        sum_value = 0;
        power = 1;
        i = 0;
        do
        {
            sum_value += power;
            if (fabs(real_value - sum_value) < 1e-6)
                break;
            power *= x;
            ++i;
        } while (1);

        printf("%d\n", i);
    }

    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值