北大ACM(POJ1001-Exponentiation)
2024-10-11 17:47:35
Question:http://poj.org/problem?id=1001
问题点:大数运算(求幂)
#include <iostream>
using namespace std;
#define max 1000
char a[max];
char b[max];
char c[max];
int main()
{
memset(a,,*sizeof(char));
memset(b,,*sizeof(char));
memset(c,,*sizeof(char));
char *R=(char *)malloc(*sizeof(char));
int n,point;
while(cin>>R>>n)
{
for(int i=,j=;i>=;i--,j++)
{
if(R[i]=='.')
{
point=-i;
j--;
continue;
}
a[j]=R[i];
b[j]=R[i];
} if(n==)
{
strcpy(c,a);
}
else
{
for(int k=;k<n;k++)
{
int alen=strlen(a);
int blen=strlen(b);
int m,n;
int jw=;
for(m=;m<alen+blen;m++)
{
int temp=;
for(n=((m-blen+)>?(m-blen+):);n<alen&&m-n<blen&&m-n>=;n++)
{
temp+=(a[n]-'')*(b[m-n]-'');
}
temp+=jw;
jw=temp/;
temp%=;
c[m]=temp+'';
}
strcpy(a,c);
}
}
int slen=strlen(c);
int q;
for(q=strlen(c)-;c[q]==''&&q>=point*n;q--)
{
c[q]=;
}
for(q=;c[q]==''&&q<point*n;q++)
{
}
for(int p=strlen(c)-;p>=q;p--)
{
if(p==point*n-)
{
cout<<".";
}
cout<<c[p];
}
memset(a,,*sizeof(char));
memset(b,,*sizeof(char));
memset(c,,*sizeof(char));
cout<<endl;
}
return ;
}
最新文章
- 数据存储_SQLite常用的函数
- 3d游戏模型及地形提取及导航
- Android数据库的运用
- Linux添加主机路由
- 关于meta标签
- [deviceone开发]-优惠券商户管理端App开源
- Centos5.8 iptables管理
- Java里的if else语句例子
- 关于FP-Growth 算法一个很好的ppt-学习分享
- git常用操作指令
- 图论(网络流):[CTSC2001]终极情报网
- Git Command Summary (Updated)
- NET平台机器学习组件-Infer.NET
- js的dom操作和函数
- ajax核心技术1---XMLHttpRequset对象的使用
- js 浏览器判断
- FCN 项目部分代码学习
- eclipse输入中文为繁体字
- Ubuntu输入命令无效的问题
- 200. Orchard学习 目录
热门文章
- Oracle-11g-R2(11.2.0.3.x)RAC Oracle Grid &; Database 零宕机方式回滚 PSU(自动模式)
- UVa 11234 Expressions (二叉树重建&;由叶往根的层次遍历)
- 【转】web测试内容及工具经典总结
- Python 类型的分类
- C++ 不支持模版的分离式编译
- HDU 4821 String hash
- hdu 5279 Reflect phi 欧拉函数
- GLSL实现Fresnel And Chromatic aberration 【转】
- androidstudio构建(或导入)工程(不用gradle)
- Java I/O输入输出流详解