大数乘大数
时间:2022-05-05
本文章向大家介绍大数乘大数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 /*coder @Gxjun*/
2 #include<stdio.h>
3 #include<string.h>
4 #include<stdlib.h>
5 #define maxn 10000
6 char rx[16]; /*既然是实数,那么就精确到16位吧*/
7 int ans[maxn],nx[17],tem[maxn],cc[maxn];
8 int main( void )
9 {
10 int n,i,po=0,j,cnt,k;
11 printf("输入n x的值n");
12 while(~scanf("%d%s",&n,rx))
13 {
14 int pos=strlen(rx)-1,low=0;
15 memset(nx,0,sizeof(nx));
16 po=cnt=0;
17 bool flag=false; //<判断是否为负数>
18 if(rx[0]=='-'||rx[0]=='+')
19 {
20 if(rx[0]=='-'&&(n&1))flag=true;
21 low++;
22 }
23 for(i=pos;i>=low;i--)
24 {
25 //小数转化为整数,并记录小数的个数...po;
26 if(rx[i]=='.') po=pos-i;
27 else nx[cnt++]=rx[i]-48;
28 }
29 memset(ans,0,sizeof(ans));
30 memset(tem,0,sizeof(tem));
31 pos=cnt;
32 int len=n*pos,s;
33 po*=n;
34 memcpy(ans,nx,pos*sizeof(nx[0]));
35 while(n-->1)
36 {
37 for(cnt=i=0;i<pos;i++)
38 {
39 for(s=j=0;j<len;j++)
40 {
41 tem[j]=(ans[j]*nx[i]+s);
42 s=tem[j]/10;
43 tem[j]%=10;
44 }
45 /*memcpy(cc,tem,len);*/
46 for(j=cnt,s=k=0 ;j<len;j++,k++)
47 {
48 cc[j]+=(tem[k]+s);
49 s=cc[j]/10;
50 cc[j]%=10;
51 }
52 cnt++;
53 memset(tem,0,sizeof(tem));
54 }
55 memcpy(ans,cc,len*sizeof(cc[0]));
56 memset(cc,0,sizeof(cc));
57 }
58 i=len;
59 while(ans[i]==0&&i>po)i--;
60 if(flag)printf("-");
61 while(i>=0)
62 {
63 printf("%d",ans[i]);
64 if(i==po&&i!=0)printf(".");
65 i--;
66 }
67 putchar(10);
68 }
69 return 0;
70 }
- Intent和PendingIntent的区别
- android程序崩溃后重启
- jQuery源码——.html()方法原理解析
- 【翻译】JavaScript内存泄露
- 【翻译】ES6生成器简介
- 浅谈事件冒泡
- Github page搭建博客使用自定义插件的方法
- 【翻译】JavaScript中5个值得被广泛使用的数组方法
- 【翻译】浏览器渲染Rendering那些事:repaint、reflow/relayout、restyle
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
- 《JQuery技术内幕》读书笔记——自调用匿名函数剖析
- 【代码+论文】通过ML、Time Series模型学习股价行为
- .NET Core 系列5 :使用 Nuget打包类库
- 解决transition动画与display冲突的几种方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- docker(常用软件安装)
- PyTorch版:集成注意力和MobileNet的YOLOv4
- 从源代码级别看懂MinIO对象存储网关的实现
- 4种主流超参数调优技术
- 一分钟学Python| 面向对象(上)
- Python 为什么不支持 switch 语句?
- 你还在认为 count(1) 比 count(*) 效率高?
- 一分钟学Python| 面向对象(中)
- uni-app自定义打包目录package.json命令配置
- 在Zeppelin中如何使用Hive
- B站真题:如何判断括号是否有效?
- (在模仿中精进数据可视化03)OD数据的特殊可视化方式
- Ubuntu20.04 体验和美化
- hadoop重用机制
- hadoop搭建完全分布式集群