列表

详情


BC171. 牛牛的Hermite多项式

描述

牛牛学会了一个新的多项式,叫Hermite多项式,其表达式如下,牛牛想知道其中一个结果

输入描述

输入两个正整数,分别是 n 和 x

输出描述

输出 

示例1

输入:

2 7

输出:

26

原站题解

C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-05-08

#include <stdio.h>
int hnx(int n,int x);
int main(){
    int n,x;
    scanf("%d %d",&n,&x);
    int result;
    if(n==0){
        result=1;
    }else if(n==1){
        result=2*n;
    }else if(n>1){
        result=hnx(n,x);
    }
    printf("%d",result);
    return 0;
}
int hnx(int n,int x){
    int t=0;
    if(n>1){
        t=2*x*hnx(n-1,x)-2*(n-1)*hnx(n-2,x);
    }else if(n==1){
    	t=2;
	}else if(n==0){
		t=1;
	}
        return t;
}   

C 解法, 执行用时: 2ms, 内存消耗: 316KB, 提交时间: 2022-06-19

#include <stdio.h>

int hmt(int n, int x) {
    return n == 0? 1 : n == 1? 2 * n : 2 * x * hmt(n-1, x) - 2 * (n-1) * hmt(n-2, x);
}

int main(){
    int n, x;
    scanf("%d %d", &n, &x);
    printf("%d", hmt(n, x));
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 316KB, 提交时间: 2022-03-16

#include<stdio.h>

int Hermite(int n,int x)
{
    if(n==0)
        return 1;
    if(n==1)
        return 2*n;
    return 2*x*Hermite(n-1,x)-2*(n-1)*Hermite(n-2,x);
}

int main()
{
    int n,x;
    scanf("%d %d",&n,&x);
    printf("%d",Hermite(n,x));
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 324KB, 提交时间: 2022-03-20

#include <stdio.h>
int hx(int n,int x)
{
    if (n == 0)
    {
        return 1;
    }
    if (n == 1)
    {
        return 2 * n;
    }
    return 2 * x * hx(n - 1,x) - 2 * (n - 1) * hx(n - 2,x);
}
int main ()
{
    int n,x;
    scanf ("%d%d",&n,&x);
    printf ("%d",hx(n,x));
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 328KB, 提交时间: 2022-05-24

#include <stdio.h>
long Hermite(int n,int x){
    if(n==0)
        return 1;
    else if(n==1)
        return 2*n;
    else
        return 2*x*Hermite(n-1, x)-2*(n-1)*Hermite(n-2, x);
}
int main(){
    int n=0,x=0;
    scanf("%d%d",&n,&x);
    long ret=Hermite(n,x);
    printf("%ld",ret);
    return 0;
}

上一题