精华内容
下载资源
问答
  • 利用函数求阶乘

    千次阅读 2014-11-07 20:40:00
    #include #include int main () { int min(int a,int b); int n; int a[100],i,m,t,s; while(scanf("%d",&t)&&t!=0) //scanf("%d",&t); //while(t--) { //int a[100]
    #include <stdio.h>
    #include <stdlib.h>
    int main ()
    {
    	int fac(int n);
    	int n;
    	int y;
    	scanf("%d",&n);
    	y=fac(n);
    	printf("%d!=%d\n",n,y);
    	system ("pause");
    	return 0;
    	}
    int fac(int n)
    {
    	int f;
    	if(n<0)
    	printf("data error!");
    	else if (n==0||n==1)
    	f=1;
    	else f=fac(n-1)*n;
    	return (f);
    	}
    


    注意递归方法的使用!

    展开全文
  • using namespace std; int ptr(int n);... while (cin>>num) //当输入不是int型数字时结束循环 { cout << ptr(num) << endl; cout<< "Enter a number:\n"; } cout .
    #include<iostream>
    
    using namespace std;
    
    
    
    int ptr(int n);
    
    int main()
    {
    	int num;
    	cout << "Enter a number:\n";
    	while (cin>>num)                        //当输入不是int型数字时结束循环
    	{
    		cout << ptr(num) << endl;
    		cout<< "Enter a number:\n";
    	}
    
    	cout << "Quit\n";
    
    	return 0;
    }
    
    int ptr(int n)                               //递归算阶乘,如果结果超出int型的显示范围则会输出为0或错误
    {
    	if (n == 0) {
    		return 1;
    	}
    	else if (n > 0)
    	{
    		return n*ptr(n - 1);
    	}
    }
    
    展开全文
  • C语言作业2-循环结构程序设计-1利用三种循环求阶乘累加和 问题描述: 利用while , do while, 和for循环分别编写求 ∑ n! (即1!+2!+3!+…+25!)的程序 代码实现: #include&lt;stdio.h&gt; #include&lt;...

    C语言作业2-循环结构程序设计-1利用三种循环求阶乘累加和

    问题描述:
    利用while , do while, 和for循环分别编写求 ∑ n! (即1!+2!+3!+…+25!)的程序

    代码实现:

    #include<stdio.h>
    #include<stdlib.h>
    /*
    利用while , do while, 和for循环分别编写求 ∑ n! (即1!+2!+3!+…+25!)的程序
    */
    int dw();
    int fr();
    int main()//while
    {
    	int i=1;
    	double sum1 =1;
    	double sum2 =0;
    	while(i<=25)
    	{
    	sum1 = sum1 * i;
    	sum2 = sum2 + sum1;
    	i++;
    	}
    	printf("1-25的阶乘和为while循环:%.lf\n",sum2);
    	dw();
    	fr();
    } 
    int dw()
    {
    	int i = 1;
    	double sum1 =1;
    	double sum2 =0;
    	do{
    	sum1 = sum1 * i;
    	sum2 = sum2 + sum1;
    	i++;
    	}while(i<=25);
    	printf("1-25的阶乘和为do-while循环:%.lf\n",sum2);
    }
    int fr()
    {
    	int i = 1;
    	double sum1 =1;
    	double sum2 =0;
    	for( i = 1;i<=25;i++)
    	{
    	sum1 = sum1 * i;
    	sum2 = sum2 + sum1;	
    	}
    	printf("1-25的阶乘和为for循环:%.lf",sum2);
    }
    

    备注:自定义了两个函数,dw函数实现do-while循环,fr函数实现for循环。

    运行结果:
    在这里插入图片描述

    欢迎各位大佬提出更优秀的解决思路。

    展开全文
  • 分别用for循环,while do-while以及递归方法实现n的阶乘!源码:package book;import java.util.Scanner;public class Access {public static void main(String args[]){System.out.println("第一种,利用for循环...

    分别用for循环,while do-while以及递归方法实现n的阶乘!

    源码:

    package book;

    import java.util.Scanner;

    public class Access {

    public static void main(String args[]){

    System.out.println("第一种,利用for循环实现n的阶乘");

    Scanner su=new Scanner(System.in);

    System.out.println("请输入n的值:");

    int n=su.nextInt();

    int sum=1;

    for(int i=1;i<=n;i++){

    sum=sum*i;

    }

    System.out.println(n+"的阶乘值为"+sum);

    System.out.println("while实现n的阶乘!");

    int i=sum=1;

    while(i

    i=i+1;

    sum*=i;

    }

    System.out.println(n+"的阶乘值为"+sum);

    System.out.println("do-while实现n的阶乘!");

    do{

    sum*=i;

    i+=1;

    }while(i

    System.out.println(n+"的阶乘值为:"+sum);

    System.out.println("利用递归方法实现N的阶乘!");

    System.out.println("递归方法:"+Digui(n));

    }

    public static int Digui(int n){

    if(n==0)

    return 1;

    else

    return n*Digui(n-1);

    }

    }

    运行结果:

    第一种,利用for循环实现n的阶乘

    请输入n的值:10

    10的阶乘值为3628800

    while实现n的阶乘!

    10的阶乘值为3628800

    do-while实现n的阶乘!

    10的阶乘值为:36288000

    利用递归方法实现N的阶乘!

    递归方法:3628800

    展开全文
  • n的阶乘

    2020-08-08 13:00:09
    public class _04_求阶乘 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(true){ System.out.print("请输入一个数"); int num=sc.nextInt(); System.out...
  • 本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数 1!+2!+3!+…+n! 的值。 double fact( int n ){ if(n==1||n==0) return 1; else return n*fact(n-1); } double factsum( int n ){ double sum...
  • JS实现5的阶乘示例

    2020-12-10 16:33:00
    方案一:利用while循环 function factorial(num){ var result = 1; while(num){ result *= num; num--; } return result; } console.log(factorial(5))//120 运行结果: 方案二:利用函数递归 function ...
  • js5的阶乘

    千次阅读 2018-06-01 21:12:32
    方案一:利用while循环function factorial(num){ var result = 1; while(num){ result *= num; num--; } return result; } 方案二:利用函数递归function factor...
  • 我就废话不多说了,还是直接看代码吧! i = int(input(input)) sum = 0 ...补充知识:python 利用递归方法求解n的阶乘和 写程序算出n的阶乘的和 def fn(x): if x==1: return 1 def f(x): if x==1:
  • if,for while都不让用? 后来看了题解才知道,利用&&的特性:如果前半部分等式为假,后边部分等式就不计算。 所以这题单纯是想搞那些上课不仔细听讲的人吧… 代码如下,C#不知为什么不让通过编译,所以这是...
  • 利用数学公式(斯特林公式:lnN!=NlnN-N+0.5*ln(2*N*pi))出位数即可 #include"stdio.h" #include"math.h" #define pi 3.1415926 int main() { int ans,i,t,n; scanf("%d",&t); while(t--) { scanf(...
  • 初学python的人经常遇到如何一个数的阶乘的问题。 n! = n * (n-1) * (n-2) …… *1 今天我总结了几种方法。 (1)利用循环(for或者while都行) n=int(input()) fact=1 for i in range(1,n+1): fact *=i print...
  • /* Name: ... Author: ... 【程序26】 题目:利用递归方法5!。 程序分析:比上一题更简单 */ #include int main() { int i,n; long int a[100]; while(printf("请输入n:") && scanf("%d
  • // 阶乘 function mi($d){ $n=1; $m=1; while ( $n $d) { $m *= $n++; } return $m."粒"; } echo mi(10); // 循环 function milia($d){  // $d 天数  // $m 米粒数  $m = 1;
  • 我们利用数的性质, 任意一个正整数 X 都可以表示成若干个质数乘积的形式,即 X = p1α1 ∗ p2α2 …… ∗ pkαk 约数个数 = (a1 + 1)(a2 + 1)……(ak + 1) 出2-100的质数后依次算一下这些多少个,然后进行乘积 m ...
  • 题目中求阶乘的函数我用两种方法来写,第一种不用递归,第二种用递归。 (1)不用递归 阶乘的计算公式是: a!=a*(a-1)*(a-2)*(a-3)*...*1; 因此我们在函数中可以利用while循环来实现连续相乘,同时用自减符保证...
  • 初学Linux shell编程,用的不习惯,今天想用迭代函数实现简单的阶乘,搞了大几个小时,觉得有必要记下来。 1、题目 编程实现 n 的阶乘, n=10。 2、用while搞 这个比较简单: n=10 i=$n ans=1 while [ $i -gt 1 ]...
  • 可以有多种方式实现这个算法,简单列举两种基础算法 第一种 i = 1 n=1 e=0 while True: if 1/n>10**-6: e+=1/n s=1; for j in range (1,i+1): #n的阶乘 s=s*j n=s i+=1 eli...
  • Java知识总结(02)

    2020-09-26 14:56:34
    //利用递归10的阶乘 static long fact(int n) { if(n == 1){ return 1; }else { return n * fact(n-1); } } //利用循环10的阶乘 static long factionLoop(int m) { long result = 1; while(m > 1){ ...
  • a) 出100以内的数的阶乘; b) 一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。当N=4时,1634满足条件,因为1^4 + 6^4 + 3^4 + 4^4 = 1634(其中“^”表示乘方),N...
  • 的和并显示,要求用方法实现求阶乘。 (2) 编写Java应用程序,从键盘输入一个整数,将其转换为的二进制、十六进制并把相应的表示输出到屏幕上。 (3) 编写Java应用程序,分别利用while循环、do…while循环和for循环求...
  • 1计算 n 的阶乘 (n ) n 的取值在 1~10 之间分别使用 while do while 和 for 语句实现 三个程序 给循环变量赋初值 循环条件 循环体 循环变量的增值 2 输入一行字符分别统计输入了多少个 字母数字空格和其他字符 2 3 ...
  • 题意: 给你n,m,让你出从0到m组合数C(n,m)的和。...首先我们要利用预处理阶乘逆元: ll getpow(ll a, int b){ ll sum = 1; while(b){ if(b &amp; 1){ sum = (sum * a) % mod; } a = (a*a) % m...
  • 【三】Java循环结构

    2020-02-10 17:48:37
    目录 一、循环的概念 二、while循环 三、do while循环 四、for循环 五、流程控制 六、嵌套循环 ...2、一个三位数,该三位数与其每位数字的阶乘之和 3、利用for循环找出四位整数 abcd 中满足 (...
  • 9.21语句训练

    2019-09-21 23:55:17
    9.21语句训练 今天利用周六的时间学习了: while for do while if switch 等分支语句以及循环语句,同时,对一部分的经典例题进行了训练,并...////出给定数字的阶乘 //int main() //{ // int i = 0; // int j =...
  • Python 循环结构练习

    2021-01-12 18:27:50
    2.利用蒙特卡洛方法圆周率 3.计算1的阶乘+2的阶乘… 4.编程题 假设我国现有十四亿人口按每年百分之8多少年后我们人口到达25亿 1.随机生成100个整数并计算他们的总和与乘积 import random sum=0 mul=1 for i in ...
  • 解法一:利用位操作,原数与它减一的结果相与,得到的结果为将最后一个1置为0,由此类推。  解法二:查表法,0~256每个数的结果保存在表里,这种方法是一种用空间换时间的做法,适合于频繁调用算法的应用中。 2、...
  • P=NP?

    2020-12-30 23:35:16
    最快的方法每次计算阶乘的倒数是都利用了上次计算的结果,唯一缺点是item多算一次. 2.static 修饰的 类变量 如果类中有类变量,当使用new运算符创建多个不同的对象时,分配给这些对象的这个类变量占有同一处内存,改变...
  • c++第3章习题

    2010-10-02 10:36:00
    26 n的阶乘:n!=n×(n-1)×(n-2)×... ...×2×1,分别用while,do-while,for循环实现 27 编程实现:累加100~1000之内能被3整除的偶数。 28 输出 100~200之间的素数,并画出流程图。 29 ...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

利用while求阶乘