10.输入一个数,求这个数的阶乘

(1)运用循环:

#include<iostream>
using namespace std;
int JieCheng(int);

int main()
{
    int n;
    cout<<"please input an number: "<<endl;
    cin>>n;
    cout<<JieCheng(n);
}

int JieCheng(int n)
{
    int m=1;
    for(int i=1;i<=n;i++)
    {
        m*=i;
    }
    return m;

}

(2)运用递归:

#include<iostream>
using namespace std;
int JieCheng(int);

int main()
{
    int n;
    cout<<"please input an number: "<<endl;
    cin>>n;
    cout<<JieCheng(n);
}

int JieCheng(int n)
{
    if(n==1)
        return 1;
    return n*JieCheng(n-1);//运用递归

}

10.输入一个数,求这个数的阶乘

时间: 2024-10-10 12:48:35

10.输入一个数,求这个数的阶乘的相关文章

求一个数阶乘的位数

flyfish 2015-8-15 例如 7!=5040 ,7的阶乘结果是4位数(10进制) 求一个数的位数 1 循环方法 int get_digit_loop(int N) { int digit = 0; do { digit ++; } while ((N /= 10) > 0); return digit; } 2 递归方式 int get_digit_recursion(int N) { int digit = 0; digit = N < 10 ? 1 : 1 + get_digi

C语言:输入一个数,输出比这个数小的所有素数,并求出个数。

//C语言:输入一个数,输出比这个数小的所有素数,并求出个数. 1 #include<conio.h> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #define MAX 100 5 int fun(int lim, int aa[MAX]) 6 { 7 int i, j,k=0; 8 for (i = 2; i <= lim; i++)//罗列每个数 9 { 10 for (j = 2; j < i; j++)//

简单代码 //输入三个数求最大值.

static void Main(){  //输入三个数求最大值.    string answar = "y";  while (answar=="y"||answar=="Y")  {    int x,y,z,max;   Console.WriteLine("请输入第一个数:");   x = int.Parse(Console.ReadLine());   Console.WriteLine("请输入第二个

求n个数的最小公倍数(数值范围的控制)

Description 求n个数的最小公倍数. INPUT 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. OUTPUT 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最后的输出是一个32位的整数. SAMPLE INPUT 2 4 6 3 2 5 7 SAMPLE OUTPUT 12 70 解题心得: 本来是很简单的题的,可是由于没有适当的控制算法,导致结果溢出. AC代码: 1 #include<stdio.h> 2 long int

OJ刷题之《函数模板--求n个数之和》

题目描述 利用函数模板求4个数的和. 部分代码已给定如下,只需要提交缺失的代码. #include <iostream> using namespace std; /* 补充缺少代码 */ int main() { double result; unsigned char c1,c2,c3,c4; cin>>c1>>c2>>c3>>c4; result = sum<unsigned char>(c1,c2,c3,c4); cout&l

求多个数的最小公倍数的问题

Problem Description 求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最后的输出是一个32位的整数. Sample Input 2 4 6 3 2 5 7 Sample Output 12 70 #include <stdio.h> #include <stdlib.h> typedef long unsigned

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

#include <stdio.h> #include <ctype.h> #pragma mark 统计从终端输入的字符中每个大写字母的个数.用#号作为输入结束标志 int main() { int num[26] = {0}, i; char c; while ((c = getchar())!='#') { if (isupper(c)) { num[c-65]++; } } for (int i = 0; i<26; i++) { if (num[i]) { prin

C语言编程 求两个数的平均值方法(三种方法)

第一种方法是最常见的average=(a + b) / 2这种方式,求两个数的平均值 第二种方法是当 a<b 时averag=a+(b-a)/2 这里着重介绍的是第三种方法 average=(a&b) + (a^b)>>1 推导过程如下a + b = (a&b) 2 + (a^b)) --->average=((a&b)2+(a^b))/2 ---->average=(a&b) + (a^b)>>1 eg:两个数为15和515二进制

数学:求一个数的真约数(因数)的个数及所有约数之和

一. 我们知道,每个自然数(不包括0和1)都有2个以上的因数,因数最少的是质数(也叫素数),质数的因数是1和它本身.非质数的自然数也叫合数,它们都含有3个以上(含3个)的因数. 1.怎样求一个数有多少个因数? 对于一个已知的自然数,要求出它有多少个因数,可用下列方法: 首先将这个已知数分解质因数,将此数化成几个质数幂的连乘形式,然后把这些质数的指数分别加一,再相乘,求出来的积就是我们要的结果. 例如:求360有多少个因数. 因为360分解质因数可表示为:360=2^3×3^2×5,2.3.5的指