牛客网练习题(函数部分)

简介: 牛客网练习题(函数部分)

1.牛牛逆序输出


描述

牛牛在尝试把一个整数逆序地输出。


输入描述:

输入一个正整数 n。保证个位数不是 0


输出描述:

逆序输出这个正整数。


示例1

输入:


2345

输出:


5432

#include <stdio.h>
void nixu(int n)
{
    if(n>0)
    {
        printf("%d",n%10);
        nixu(n/10);
    }
}
int main ()
{
    int n=0;
    scanf("%d",&n);
    nixu(n);
    return 0;
}

2.牛牛的排列数



描述

牛牛正在尝试计算一个排列数 A_n^m = n(n-1)(n-2)...(n-m+1)= \frac{n!}{(n-m)!} \Anm=n(n−1)(n−2)...(n−m+1)=(n−m)!n!


输入描述:

输入两个正整数 n 和 m


输出描述:

输出 A_n^m \Anm


示例1

输入:


4 2

输出:


12

#include <stdio.h>
int main() {
    int n = 0;
    int m = 0;
    scanf("%d %d", &n, &m);
    long long  sum1 = 1;
    long long  sum2 = 1;
    int i = 0;
    for (i = 1; i <= n; i++) {
        sum1 = sum1 * i;
    }
    i = 0;
    if (n - m > 0) {
        for (i = 1; i <= (n - m); i++) {
            sum2 = sum2 * i;
        }
     printf("%lld\n", sum1 / sum2 );   
    } else {
        printf("0\n");
    }
//     printf("%lld\n", sum1 / sum2 );
    return 0;
}

3.牛牛的西格玛


描述

牛牛最近学会了一些简单的数学运算,例如 \sum_{i=1}^{n} \∑i=1n  请你帮他模拟一下这个运算。 (即 1+2+3....+n-1+n)


输入描述:

输入仅一个正整数 n


输出描述:

请你计算 \sum_{i=1}^n \∑i=1n


示例1

输入:


4

输出:


10

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

4. 函数实现计算一个数的阶乘



描述

编写一个函数 long long factorial(int n),用于计算 n 的阶乘。(要求使用递归实现)


输入描述:

键盘输入任意一个整数 n ,范围为 1 - 20


输出描述:

输出 n 的阶乘


示例1

输入:


5

输出:


120

#include <stdio.h>
long long su(long long n)
{
    if(n==1)
        return n=1;
    if(n>1)
        n=n*su(n-1);
    return n;
}
int main ()
{
    long long n=0;
    scanf("%lld",&n);
    printf("%lld\n",su(n));
    return 0;
}


相关文章
|
6月前
|
存储 编译器 C语言
【C语言刷题每日一题#牛客网BC107】矩阵转置
【C语言刷题每日一题#牛客网BC107】矩阵转置
|
7月前
|
移动开发 前端开发 JavaScript
HTML+CSS练习题【详解】
HTML+CSS练习题【详解】
193 0
|
算法 C语言
C语言 每日一题 牛客网习题 10.20 day2
C语言 每日一题 牛客网习题 10.20 day2
53 0
练习题:暗恋
练习题:暗恋
71 0
练习题之牛客网
练习题之牛客网
116 0
原来牛客网练习题还能这么做?
原来牛客网练习题还能这么做?
114 0
每日坚持:练习题
每日坚持:练习题
91 0
|
存储 编译器 C语言
C语言关键字必备练习题
C语言关键字必备练习题
174 0
|
算法 Unix Shell
|
存储 测试技术 调度
C/C++练习题(一)
1. volatile 关键字在 C++ 中的性能和 C 的一样? 作用是一样的,但是其内部实现原理可能不同。 2. scanf 格式化输入是怎么赋值的? 由于scanf输入的数据个数是不定的,从键盘输入的数据会进入缓冲流,然后将输入的数据赋值给scanf的参数。
1741 0

热门文章

最新文章