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


    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. }

     

     

  • 相关阅读:
    Python当中的repeat()函数和repeat_interleave()函数剖析和对比
    Swin_Unet & Trans_UNet & Unet & Deeplabv3网络推理时间对比
    MySQL:学习(五)
    Redis 命令 和 数据类型 您知道多少
    Sentence-BERT+Milvus实现智能问答系统
    计算机网络基础
    【HCIP】高级 VLAN
    1、skywalking-介绍
    【UI编程】将Java awt/swing应用移植到JavaFX纪实
    如何检测租用的香港服务器是不是CN2线路呢?
  • 原文地址:https://blog.csdn.net/weixin_64308540/article/details/126610536