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