解题思路:

就老老实实照着上面写的公式算。试出来的。-1到正无穷。




注意事项:
double,最好不要用=号,用约等于就行。




参考代码:

#include<stdio.h>
#include<math.h>
int main()
{
    double irr,npv,num,max,mix;
    double temp[25];
    int i,t,t0,j,k;
    int cf[10];
    for(i=0;i<25;i++)
    {
        scanf("%d",&t);
        if(t==0)
        {
            temp[i]=-3;
            break;
        }
        scanf("%d",&t0);
        for(j=0;j<t;j++)
        {
            scanf("%d",&cf[j]);
        }
        irr=1e10;
        max=irr;
        mix=-1;
        num=0;
        k=0;
        temp[i]=-2;
        while(num<=1&&k<100&&temp[i]!=irr)
        {
            npv=0;
            for(j=0;j<t;j++)
            {
                npv=npv+(1.0*cf[j])/pow(irr+1,j+1.);
            }
            npv=npv+t0;
            if(fabs(npv)<1e-5)
            {
                num++;
                temp[i]=irr;
                irr=max*20;
                mix=max;
                max=irr;
                k=0;
                continue;
            }
            if(npv>0)
            {
                mix=irr;
                if(irr==max)
                {
                    irr=irr*2;
                    max=irr;
                }
                else
                {
                    irr=(max+mix)/2;
                }
            }
            else if(npv<0)
            {
                max=irr;
                irr=(max+mix)/2;

            }
            k++;
        }
        if(k==100&&temp[i]==-2)
            temp[i]=-2;
        else if(num>1)
            temp[i]=-4;
    }
    for(i=0;i<25;i++)
    {
        if(temp[i]==-3)
        {
            break;
        }
        if(temp[i]==-2)
        {
            printf("No");
        }
        else if(temp[i]==-4)
        {
            printf("Too many");
        }
        else
            printf("%.2lf\n",temp[i]);
    }
    return 0;
}

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论