1 条题解

  • 0
    @ 2025-4-12 20:29:18

    题意分析

    题目给出了年利率 ( R )、本金 ( M ) 和投资年数 ( Y ),要求根据复利的计算方式,计算出 ( Y ) 年后的总金额,并且结果只取整数部分。复利计算的本质就是每年的本金会变成上一年的本金加上上一年本金产生的利息,每年都按照这样的方式循环计算 ( Y ) 次。

    解题思路

    1.首先将输入的年利率 ( R ) 转换为实际的利率值,即将 ( R ) 除以 ( 100 ) 后再加上 ( 1 ),得到一个大于 ( 1 ) 的倍数 ( r ),这个倍数表示每年本金增长的比例。

    2.然后通过一个循环,循环次数为投资年数 ( Y ),在每次循环中,将当前的本金 ( m ) 乘以增长倍数 ( r ),模拟复利的计算过程。

    3.最后将计算得到的最终金额 ( m ) 转换为整数类型,输出该整数,即为 ( Y ) 年后的总金额。

    实现步骤

    1.从输入中读取年利率 ( R )、本金 ( M ) 和投资年数 ( Y )。

    2.将年利率 ( R ) 转换为实际的增长倍数 ( r ),即 ( r = R / 100 + 1 )。

    3.使用一个 for 循环,循环 ( Y ) 次,每次循环中让本金 ( m ) 乘以增长倍数 ( r ),即 ( m = m * r )。

    4.将最终的金额 ( m ) 转换为整数类型,存储在变量 sum 中。

    5.输出 sum,即 ( Y ) 年后的总金额。

    代码实现

    #include<stdio.h>
    int main()
    {
        int i,sum;
        double r,m,y;
        scanf("%lf%lf%lf",&r,&m,&y);
        r/=100;
        r+=1;
        for(i=0;i<y;i++)
            m*=r;
        sum=(int)m;
        printf("%d\n",sum);
        return 0;    
    }
    

    代码说明

    1.scanf("%lf%lf%lf", &r, &m, &y); // 读取年利率r、本金m和投资年数y

    2.r /= 100; // 将年利率转换为实际的比例

    3.r += 1; // 得到每年本金增长的倍数

    4.for (i = 0; i < y; i++) // 循环y次,模拟y年的复利计算

    5.m *= r; // 计算每年的本金增长

    6.sum = (int)m; // 将最终金额转换为整数

    7.printf("%d\n", sum); // 输出y年后的总金额

    上述代码首先通过 scanf 函数读取输入的年利率、本金和投资年数。然后按照复利的计算逻辑,通过循环计算每年的本金增长,最后将计算结果转换为整数并输出。

    • 1

    信息

    ID
    1391
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    11
    已通过
    1
    上传者