计算整数n的阶层,要求计算结果最长可达50位
2014-04-07 21:08
225 查看
c语言代码:
执行结果:
#include <stdio.h> #define N 50 void qiujieceng(int a) { int i,j,k,n; int data ; int bit=1; for(i=1;i<N+1;i++) data[i]=0; data[1]=1; for(i=1;i<a+1;i++)//遍历每个数的阶数 { for(j=1;j<bit+1;j++)//计算阶数:每一位乘以要求的阶数,结果仍然在本位上 { data[j]*=i; } for(j=1;j<bit+1;j++)//遍历每一位,看是否有进位的需要 { if(data[j]>10) { for(n=1;n<bit+1;n++)//当数组中所表示的数超过一位的时候,考虑将十位上的数字向前移位 { if(data[bit]>10)//根据最高位是否需要进位,判断位数是否需要增加。 bit++; data[n+1]+=data /10;//当最高位不需要进位的时候,这个步骤仍然需要 data =data %10;//低位进位 } } } printf("%d!=",i); for(k=bit;k>0;k--)//先输出高位,所以k=bit { printf("%d",data[k]); } printf("\n"); } } int main() { int m; printf("请输入您要求的数m:\n"); scanf("%d",&m); qiujieceng(m); return 0; }
执行结果:
相关文章推荐
- DOM、SAX、SimpleXML方式解析XML文档总结
- 第一题 向左反转字符串
- 第二题 求数组中和最大的子数组和其对应的位置
- Linux常用vi命令
- cocos2dx以前的一些文章的项目下载地址
- 权限管理——RBAC模型总结
- 英语学习
- 判断迷宫是否可到达目的地的程序
- 创建.so动态库
- SQL Error: 1064, SQLState: 42000数据库异常
- Codeforces Round #240 (Div. 2)
- POJ 2318 TOYS (矩形内判断点与线段关系,水)
- HDOJ-4311 Meeting point-1
- 链表线性表
- java验证卡布列克常数
- opencv入门Vec3f
- C/C++混合编程--extern “C” 使用方法详解
- java设计模式之迭代器模式iterator
- 动态规划——01背包问题
- Android 蓝牙开发实例--蓝牙聊天程序的设计和实现