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


    1.牛牛逆序输出

     2.牛牛的排列数

    3.牛牛的西格玛
     4. 函数实现计算一个数的阶乘

    笔者开头感想,如今大部分高校已经开学,当然笔者也不列外!但是由于疫情的原因,笔者被迫在家上网课学习!一脸忧愁,而这恰恰给了笔者自学的机会!相信笔者会加油滴!按照时间的步伐来追寻科班的脚步!C语言练习题集册见!

    1.牛牛逆序输出

     

    描述

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

    输入描述:

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

    输出描述:

    逆序输出这个正整数。

    示例1

    输入:

    2345

    输出:

    5432
    1. #include
    2. void nixu(int n)
    3. {
    4. if(n>0)
    5. {
    6. printf("%d",n%10);
    7. nixu(n/10);
    8. }
    9. }
    10. int main ()
    11. {
    12. int n=0;
    13. scanf("%d",&n);
    14. nixu(n);
    15. return 0;
    16. }

     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
    1. #include <stdio.h>
    2. int main() {
    3. int n = 0;
    4. int m = 0;
    5. scanf("%d %d", &n, &m);
    6. long long sum1 = 1;
    7. long long sum2 = 1;
    8. int i = 0;
    9. for (i = 1; i <= n; i++) {
    10. sum1 = sum1 * i;
    11. }
    12. i = 0;
    13. if (n - m > 0) {
    14. for (i = 1; i <= (n - m); i++) {
    15. sum2 = sum2 * i;
    16. }
    17. printf("%lld\n", sum1 / sum2 );
    18. } else {
    19. printf("0\n");
    20. }
    21. // printf("%lld\n", sum1 / sum2 );
    22. return 0;
    23. }

    3.牛牛的西格玛

     

     

    描述

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

    输入描述:

    输入仅一个正整数 n 

    输出描述:

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

    示例1

    输入:

    4

    输出:

    10
    1. #include <stdio.h>
    2. int sum(int n)
    3. {
    4. if(n==0)
    5. return 0;
    6. return n+sum(n-1);
    7. }
    8. int main ()
    9. {
    10. int n=0;
    11. scanf("%d",&n);
    12. printf("%d\n",sum(n));
    13. return 0;
    14. }

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

     

    描述

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

    输入描述:

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

    输出描述:

    输出 n 的阶乘

    示例1

    输入:

    5

    输出:

    120
    1. #include <stdio.h>
    2. long long su(long long n)
    3. {
    4. if(n==1)
    5. return n=1;
    6. if(n>1)
    7. n=n*su(n-1);
    8. return n;
    9. }
    10. int main ()
    11. {
    12. long long n=0;
    13. scanf("%lld",&n);
    14. printf("%lld\n",su(n));
    15. return 0;
    16. }

     

     

  • 相关阅读:
    微软推出 Hierarchical Transformer 实现更高准确率的语音评测
    iPhone - 如何找到最顶层的视图控制器
    关于测试的思考-自动化测试以及流量回放
    Python文件读写--错误一
    Nim语言获取exe绝对路径(自身)
    暴力递归转动态规划(七)
    C和指针 第14章 预处理器 14.1 预定义符号
    Vue 中修改了计算属性(computed) 或者它的依赖变量,计算属性的值没有变化的几种情况
    以深圳为例Python一键生成核酸检测日历
    从暗黑3D火炬之光技能系统说到-Laya非入门教学一~资源管理
  • 原文地址:https://blog.csdn.net/weixin_64308540/article/details/126610536