huawei.c

来自「数字信号处理实验」· C语言 代码 · 共 27 行

C
27
字号
/*华为面试题(十枪90环问题)*/
#include <stdio.h>
int max(int x,int y){
    if (x>=y) return x;
    else return y;
    }
int min(int x,int y){
    if (x<=y) return x;
    else return y;
    }
long f(int m,int n){/*计算m枪n环共有几种打法,要求输入m>=1,n>=0,n<=10m*/
    long sum=0;
    int k,i,j;
    if(m==1||n==0||n==10*m) return 1;
    if(n==1) return m;
    i=max(0,n-10*(m-1));
    j=min(10,n);
    for(k=i;k<=j;k++) sum+=f(m-1,n-k);
    return sum;
    }
main(){
    printf("f(10,90)=%ld",f(10,90));
    getch();
    }


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?