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)
{
sun[i]=sun[i]%10;
sun[i-1]++;
}
}
}
int flag=0;
for(int i=0; i<100; i++)
{
if(sun[i]!=0)
flag=1;
if(flag==1)
printf("%d",sun[i]);
}
return 0;
}

时间: 2024-11-13 07:54:52

openjudge-2的100次方阶乘的相关文章

13的100次方的计算

今天看到了这个题,开始的时候不知道怎么,然后就查了各种资料,加之gdb的调试之后总算是有些成效了.现在把它记录下来,整理一下. 题目就是标题,用一个数组存储13的100次方的值,然后输出来. 代码如下: 说明一下:这个代码是我拷的网上的代码,这里只是把他解析一下而已: 1 #include<stdio.h> 2 3 int main() 4 { 5 int a[100]={1,0},b[100]={0};>> 6 b[-1]=0; 7 int i,t,cut=1; 8 for(i=

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

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

数值的整数次方——11

实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 首先可以想到的是,如果exponent是个大于零的数,可用循环来进行相乘,而如果exponent是个复数,依然可以将base进行相乘,最后再取其倒数也就是用1去除以相乘结果.程序设计如下: #include <iostream> #include <math.h> using namespace std; double 

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

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] - '

大整数的阶乘

阶乘: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/c++面试题(4)字符串翻转/打印任意进制格式/类型转换

1.字符串的翻转,这里一般是字符数组.不包括字符串字面值. char* reversal_str(char* str,size_t size); 翻转之后的字符串是原来的字符串的翻转. #include <stdio.h> #include <string.h> char* reversal(char* str,size_t len) { if(str != NULL) { char* start = str; char* end = str + len - 1; char ch;

.net 综合面试题

想换工作的朋友可以试着做一下:1. CLR.CTS.CLS 分别是什么意思? 公共语言运行库,通用类型系统,公共语言规范2. 什么是基元类型? 由编译器直接支持的数据类型称为基元类型. 例如:C#中的int,string等等就是,实际运行过程中被映射为FCL中对应的类型(java中叫做包装类)如:System.Int32,System.String. ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_fxintro/html/7e4c5921-955d-4b