1-100的阶乘

//输出100的阶乘  使用字符串存入阶乘的结果 然后每一位一次计算结果。
#include<iostream>
#include<string>
using namespace std;
int main()
{
	string a = "1";
	for (int i = 1; i < 100; i++)
	{
		int y = 0;
		for (int j = 0; j < a.length(); j++)
		{
			int x = (int)(a[j] - ‘0‘);
			x = x*i;
			x = x + y;
			y = x / 10;
			x = x % 10;
			a[j] = (char)(x + ‘0‘);
		}
		while (y)
		{
			a = a + (char)((y % 10)+‘0‘);
			y = y / 10;
		}
		for (int k = a.length() - 1; k >= 0; k--)
		{
			cout << a[k];
		}
		cout << endl;
	}
	return 0;
}

  

时间: 2024-10-12 14:51:57

1-100的阶乘的相关文章

c/c++如何解决PC蛋蛋源码下载 大数存储问题(100的阶乘)

PC蛋蛋源码下载 联系方式:QQ:2747044651 网址http://zhengtuwl.com 首先在编程中会遇到一些很大的数,由于已经给定的数据类型存储范围有限,所以我们应该掌握,如何处理这样的问题. 我这里通过一个计算100!的例子给出思路. 想要存储100的阶乘,已有的数据类型肯定无法存储,我们可以使用字符串或者数组来解决,通过模拟基本计算过程,将 得到的数据存储到数组或字符串中保存下来.不多说先给出C语言解法! #include<stdio.h>#define max 1000i

openjudge-2的100次方阶乘

#include <stdio.h> #include <string.h>int main(){ int n; scanf("%d",&n); if(n==0) printf("1"); int sun[100]; memset(sun,0,sizeof(sun)); sun[99]=1; while(n--) { for(int i=0; i<100; i++) { sun[i]*=2; if(sun[i]>=10)

51Nod 1003 阶乘后面0的数量(数学,思维题)

1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0. Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 Input示例 5 Output示例 1题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1003编程之美有讲:一个数 n

1--100之间的阶乘,初学者参考

方法一: public static void main(String[] args){ double sun=1; //注意数据类型的范围大小. for(int i=1;i<=100;i++){ sun=sun*i; } System.err.println("1到100的阶乘是"+sun); } 方法二: public static void main(String[] args) { BigDecimal bg = new BigDecimal(1L); int i = 1

大整数的阶乘

阶乘:n!=n*(n-1)*(n-2)*?*2*1; 计算机中,通经常使用int类型保存数值 可是int取值范围有限( [-2147483648.2147483647]) 假如通过例如以下程序计算阶乘 #include<stdio.h> int Factorial(int n) { int i; if(n<=0) { return 0; } if(n==1) { return 1; } else { return n*Factorial(n-1); } } int main() { in

浅析如何学好C语言

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的:是他们发现了我们可以利用一个预先编写好的程序控制机器,并使之完成我们期望它完成的动作.建议大家在心里默念三遍他们的名字,以示仰慕.当然,如果让你们带着现在的知识回到他们的那个时代,那么就没有什么图灵奖了.C语言程序设计是我们的专业基础课,但是C语言本身却是一个非常强大的工具,它是到

java中的递归

递归算法的基本思想就是"自己调用自己",一个使用递归技术的方法将会直接或间接的调用自己. 递归需要满足两点: 1)定义递归头:说白了就是条件,在什么时候不去调用了,如果没有条件,则会陷入死循环. 2)要有递归体:就是什么时候调用自己. 例子:100的阶乘 /** * 计算20的阶乘 */ public class Recursion { static long factorial(int n){ if(n==1) { //递归头 return 1; } else { //递归体 ret

如果是初学C语言请看完 一些成功人士的心得

转自程先的专栏     今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的:是他们发现了我们可以利用一个预先编写好的程序控制机器,并使之完成我们期望它完成的动作.建议大家在心里默念三遍他们的名字,以示仰慕.当然,如果让你们带着现在的知识回到他们的那个时代,那么就没有什么图灵奖了. C语言程序设计是我们的专业基础课,但是C语言本身却是

怎样学好C语言,一个成功人士的心得!

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的:是他们发现了我们能够利用一个预先编写好的程序控制机器,并使之完毕我们期望它完毕的动作.建议大家在心里默念三遍他们的名字,以示敬仰.当然,假设让你们带着如今的知识回到他们的那个时代,那么就没有什么图灵奖了.C语言程序设计是我们的专业基础课,可是C语言本身却是一个非常强大的工具,它是到