ACM_1001_Exponentiation 详解
参考:http://blog.csdn.net/rually/article/details/8585268
#include<iostream>
using namespace std;
#define MAX 126
int first[MAX],second[MAX]; void pow(char base[],int n) //base 有效数字
{
int k=;
int point=-;//小数点的位置
int tmp[MAX];//存放临时乘积
//初始化 为0
for(int i=;i<MAX;i++ )
{
first[i]=second[i]=;
}
//将输入的底数反过来存入first second
for(int i=;i>=;i--)
{
if(base[i]!='.')
{
first[k]=second[k++]=base[i]-'';
}
else //记录小数点的位置
{
point=-i; // 小数点后面有几位数字
}
}
point=point*n; //乘方 乘n-1次 first 里面存放的是每次乘方的结果 core
for(int i=;i<n-;i++)
{
//每次乘方前需要将存放临时结果的tmp清0
for(int j=;j<MAX;j++)
{
tmp[j]=;
}
//开始乘方
for(int j=;j<*(i+);j++) /// first[j] 数字地一次有效位数5 平方变成10位15 ,20位。。。。
{
for(int k=;k<;k++) //second[k]
{
tmp[j+k]+=first[j]*second[k]; //core 结果逐位的乘原数 j表示错位
}
}
//进位
for(int k=;k<*(i+); k++)
{
if(tmp[k]>)
{
tmp[k+]+=(int)(tmp[k]/);
tmp[k]=tmp[k]%;
}
//tmp付给first
first[k]=tmp[k];
}
} //end 乘方 //计算出有效数位的长度
//将数字的前面和后面的小数点去掉
int back=,front=point ;
for(int i=;i<point;i++) //后面的输出截止点
{
if(first[i]!=)
{
back=i;
break;
}
}
for(int i=*n-;i>=point;i--) //前面的输出起点
{
if(first[i]!=)
{
front=i;
break;
}
} //将计算结果打印出来
for(int ii=front;ii>=back;ii--)
{
if(ii==point)// 因为是从最右边开始 所以的到ii的时候说明右面还剩ii位数字
{
//if(first[ii]!=0)
//{
// cout<<first[ii]<<".";
//}
//else
//{
// cout<<".";
//}
if(first[ii]!=)
{
cout<<first[ii];
} else
{
if(ii<front)
{
cout<<first[ii];
}
}
cout<<".";
}
else
{
cout<<first[ii];
}
}
} int main()
{
//char a[7]="0.4321"; //【6】会错误 最后还需一个“ ”
//int n=20;
//char a[7] = "99.999";
//int n = 25;
char a[] = "3.2000";
int n = ;
pow(a,n); cin.get();
return ;
}
ACM_1001_Exponentiation 详解的更多相关文章
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- Node.js npm 详解
一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...
随机推荐
- node.js基础 1之 HTTP事件回调进阶(HTTP模块)
HTTP概念进阶 1. 什么是回调? 回调是异步编程时的基础,将后续逻辑封装成起始函数的参数,逐层嵌套 2. 什么是同步/异步? 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯 ...
- node.js基础 1之 HTTP流程实例
好详细的说,要反复看反复使用~~~ 通过分析其中的Timing可以分析页面慢的瓶颈在哪 与上图对应: Stalled: 等待时机,浏览器要发生请求,到能发出请求的时间.不包括DNS查询和连接建立时间 ...
- c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?
问题描述: jfinal做的api系统中,在正常调用接口一段时间后,突然再调用接口的时候,该请求无响应api系统后台也无错误信息 (就是刚开始接口调用是正常的,突然就无响应了) 于是啊,就开始找错误. ...
- zookeeper的zoo.cfg的配置
zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg.其中各配置项的含义,解释如下: tickTime:CS通信心跳时间 Zook ...
- angularJS问题集结
1.用ng-repeat循环输出遇到很奇怪的问题 : Error: [ngRepeat:dupes] http://errors.angularjs.org/1.4.6/ngRepeat/dupes? ...
- 通过页面调用APP【H5与APP互通】
现在H5和App原生的内容原来越互通,所涉及的业务也越来越复杂和融合,所以如何互相之间方便的调用才是王道. 场景1 比如用hybrid获取地理位置和短信信息,这当然需要框架封装好,比如利用框架的bri ...
- java 中Session 持久化问题
首先: 今天发现了个session 持久化的问题 在Tomcat 停止运行后再启动 session 中保存的东西还会存在 ,百度了一下 原理 1.Session Create 时 2.Sessio ...
- YY前端课程3
1. 常用的字符实体(html实体):空格= <=< >=> 版权符号=© 2. ID就像身份证号一样,是唯一的,html页面的ID不能重复: ...
- node.js+socket.io安装
最近做安卓遇到一个网络包的bug,服务端使用node做的,通讯用socket.io,但是服务端没法调试,没办法,还是自己搭建一个服务器端吧,索性买了阿里云的ecs测试,之前也配置过node+socke ...
- 《AngularJS权威教程》中关于指令双向数据绑定的理解
在<AngularJS权威教程>中,自定义指令和DOM双向数据绑定有一个在线demo,网址:http://jsbin.com/IteNita/1/edit?html,js,output,具 ...