吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1186|回复: 22
收起左侧

[已解决] 有关C语言函数递归调用的问题

 关闭 [复制链接]
涛行 发表于 2020-10-25 13:04
本帖最后由 涛行 于 2020-10-25 17:03 编辑

今天写码用了一下函数递归调用,结果输入n大了之后就会死循环,小白已经束手无策了,望大佬们帮忙看一下,谢谢大佬们


[C] 纯文本查看 复制代码
#include<stdio.h>

int pnx(int n, float x);

int main()
{
        int n;
        float x;
        printf("Please input n&x:");
        scanf("%d%f", &n, &x);
        pnx(n, x);
        return 0;
}

int pnx(int n,float x)
{
        int px1, px2;
        float px;
        if (n < 0)return -1;
        else 
        {
                if (n == 0)px = 1;
                else if (n == 1)px = x;
                else
                {
                        px1 = pnx(n - 1, x);
                        px2 = pnx(n - 2, x);
                        px = ((2 * n - 1) * x - px1 - (n - 1) * px2) / n;
                }
                printf("pn(x)=%f\n", px);
        }
        return px;
}


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

挑灯看花 发表于 2020-10-25 13:12
本帖最后由 挑灯看花 于 2020-10-25 13:14 编辑

当我没说
qwer01234 发表于 2020-10-25 13:12
应该是冗余计算太多了那,n大了之后计算机假死了。
 楼主| 涛行 发表于 2020-10-25 13:17
qwer01234 发表于 2020-10-25 13:12
应该是冗余计算太多了那,n大了之后计算机假死了。

那该怎么改呢
Loongson2012 发表于 2020-10-25 13:18
n大了估计会爆栈吧。。。
 楼主| 涛行 发表于 2020-10-25 13:19
Loongson2012 发表于 2020-10-25 13:18
n大了估计会爆栈吧。。。

n=3就不是一个结果了
 楼主| 涛行 发表于 2020-10-25 13:48
没有大神帮忙看看嘛
hrdom 发表于 2020-10-25 14:28

不是,就是终止条件有问题
hrdom 发表于 2020-10-25 14:33
hrdom 发表于 2020-10-25 14:28
不是,就是终止条件有问题

至于具体怎么改,我没怎么看懂是什么逻辑,是求什么的
 楼主| 涛行 发表于 2020-10-25 14:47
hrdom 发表于 2020-10-25 14:33
至于具体怎么改,我没怎么看懂是什么逻辑,是求什么的

计算N阶勒让德多项式
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 16:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表