每日编程一小时(第十一天)

一.问题描述

递归法编写程序求勒让德多项式的值

二.设计思路

1.数入两个数n,x

2.编写一个函数当n==0,p=1;n==1,p==x;n>1,p = ((2 * n - 1) * x * p(n - 1, x) - (n - 1) * p(n - 2, x))/n

  返回值为p,实现递归调用

3.输出

三.流程图

 

四.程序实现

#include<iostream>
using namespace std;
float p(int n, float x)
{
    float p1;
    if (n == 0)
    {
        p1 = 1;
    }
    if (n == 1)
    {
        p1 = x;
    }
    if (n > 1)
    {
        p1 = ((2 * n - 1) * x * p(n - 1, x) - (n - 1) * p(n - 2, x))/n;
    }
    return p1;
}
int main()
{
    int n;
    float x,p1;
    cin >> n >> x;
    p1 = p(n, x);
    cout << p1;
}

 

 

 

一.问题描述

马克思手稿中的数学题

30人,50先令,,男每人3先令,女每人2先令,小孩每人1先令

求男,女,小孩各多少人

二.设计思路

1.三个变量m=w=k=0

2.设计三重循环当3*m+2*w+k==50,输出m,w,k

三.流程图

 

四.代码实现

#include<iostream>
using namespace std;
int main()
{
    int m=0,w=0,k=0;
    for (m=0; m <17; m++)
    {
        for (w=0; w <= 25; w++)
        {
            for (k=0; k <= 50; k++)
            {
                if (3 * m + 2 * w + k == 50&&m+w+k==30)
                {
                    cout << "男人:" << m << "女人:" << w << "小孩:" << k << endl;
                }
            }
        }
    }
}

 

posted @ 2023-04-20 19:50  伐木工熊大  阅读(25)  评论(0)    收藏  举报