黑科技来源

我们发现如果两个数都接近long long,乘起来就爆掉了,那该怎么办。

黑科技内容

快速乘

简介

这个应该是白科技。
虽然叫快速乘,但是十分的慢。
速度比快速幂多一个log 。
比如说是a*b,我们设f(i)=a*i
那么把b拆一下,f(b)=f(b/2) * 2+a *(b mod 2)
递归的做

Code
ll qsc(ll x,ll y){ll z=0;if(y==0)return z;z=qsc(x,y/2);z=z*2%m;if(y%2==1)z=(z+x)%m;return z;
}

黑科技1号

简介

速度很快。
假如要把x和y相乘
我们把x,y分成x/p,x%p,y/p,y%p,p是一个很大的数,用来把大数分开,然后x=(x/p+x%p),y=(y/p+y%p),然后再用乘法分配律把答案算出来。
思想就是把一个数拆成两个数。

Code
ll qsc(ll x,ll y){ll a1=x/1000000,a2=x%1000000,b1=y/1000000,b2=y%1000000,z=0;z=(a1*b1%mo*1000000%mo*1000000%mo);z=(z+a1*b2%mo*1000000%mo);z=(z+a2*b2%mo);z=(z+a2*b1%mo*1000000%mo);return z%mo;
}

黑科技2号

简介

速度也很快。
思想是double可以处理很大的数,然后把long long的数强制转成double的,然后在强制转回来就可以了。
数太大了,很能有精度问题。
所以我还是推荐黑科技1号

Code

来自Yves___的博客long long相乘取模黑科技

LL mult( LL A, LL B, LL Mo )
{LL temp = ( ( LL ) ( ( db ) A*B/Mo+1e-6 ) * Mo );return A*B - temp;
}

黑科技应用

随机数生成器
WYF的盒子

处理两数相乘的黑科技相关推荐

  1. Java 递归解决 quot;仅仅能两数相乘的计算器计算x^yquot; 问题

    Java 递归解决 "仅仅能两数相乘的计算器计算x^y" 问题 /*** 求一个数的乘方* 求x^y,y是一个正整数. 设计算器仅仅能计算两数相乘,不能一次计算n个数相乘. * 知 ...

  2. js小数/浮点数 两数相乘,相除精度问题

    精度问题 浮点数两数相乘floatingMultiply(arg1, arg2) {if (!((arg1 || arg1 === 0) && (arg2 || arg2 === 0) ...

  3. 在Java中实现两数相乘

    要实现两数相乘算总额:input1.value() * input2.value() 如果直接获取到两个input值相乘,那么结果就有一点点小偏差,是因为精度缺失 $("#totalSum& ...

  4. 算法题十一 之 两数相乘

    题目 给定两个只包含0 - 9 的字符串,输出两个字符串相乘的结果. 要求: 不可以直接把输入的字符串转化成整数 思路 因为不可以直接把输入字符串转化成正数,所以我们只能用代码实现一个位一位之间的相乘 ...

  5. Java 两数相乘保留两位小数

    //两数相乘保留两位小数public static String multiply(String num1, String num2) {BigDecimal b1 = new BigDecimal( ...

  6. 华为云AI斩获2019数博会“黑科技”等四大奖项

    5月26日,2019中国国际大数据产业博览会(以下简称"2019数博会")在贵州贵阳正式开幕,行业权威奖项"2019数博会领先科技成果奖"也正式发布.华为云凭借 ...

  7. 两数相乘:但是不用*号。如何不用*符号的两数相乘

    文章目录 前言 一.题目描述 二.思路和代码 方法一.递归 方法二.快速乘(俄罗斯农民乘法) 前言 今日力扣算题遇到一个有趣的题目         如何不用 * 运算符,实现两正数相乘         ...

  8. python两数相乘代码_Python 实现大整数乘法算法的示例代码

    我们平时接触的长乘法,按位相乘,是一种时间复杂度为 O(n ^ 2) 的算法.今天,我们来介绍一种时间复杂度为 O (n ^ log 3) 的大整数乘法(log 表示以 2 为底的对数). 介绍原理 ...

  9. js两数相乘出现多小数

    问题截图如上: 出现原因: 浮点数值的最高进度是17位小数,但在进行运算的时候其精确度却远远不如整数:整数在进行运算的时候都会转成10进制: 而Java和JavaScript中计算小数运算时,都会先将 ...

最新文章

  1. Fatal Error: Out of memory php内存溢出处理三种方法
  2. 看完这些细分领域别说小程序代理创业没有机会
  3. 【bzoj1179】 Apio2009—Atm
  4. python-day49--前端 html
  5. 【整理】Smartforms的导出和导入
  6. 英语期末复习unit 1-2课后习题第一题及背诵段落
  7. centos6.5搭建mysql主从_mysql 主从配置,主-》windows,从-》centos6.5
  8. Shiro————核心设计思想
  9. [再mark] 系统注册的dpc,枚举定时器相关的……
  10. 摄影平铺海报psd模板|简单搭建层次场景海报
  11. UI调试--初步尝试心得总结
  12. 运行java SWT例子
  13. OD数据集(一)—介绍
  14. 活动 | 腾讯×Nature Research:42问AI与机器人的未来
  15. 解决html页面运行时出现乱码问题
  16. 如何设置windows服务
  17. 更新DOTA2显示无法连接到更新服务器,DOTA2无法正常更新的解决方法 官方公告
  18. (自兴人工智能)python猜数字游戏
  19. MySQL引擎和区别
  20. c语言中fl,用C语言操作SPMC75内部FLSASH.doc

热门文章

  1. 上海市企业技术中心认定及奖励政策解读
  2. 河北省推动城乡建设绿色发展的实施意见出台
  3. H5|小程序|RN页面适配iphoneX【异形屏幕|底部安全区域】
  4. 14个上级与下属进行绩效面谈时的主题(四)
  5. 使用File Browser 搭建远程文件管理器
  6. Pyhton学习笔记第一天(Python基本语句)
  7. 建筑物轮廓(含楼层或者高度)
  8. 斯坦福计算机音乐专业,斯坦福大学以计算机为基础的音乐理论和声学文学硕士研究生申请要求及申请材料要求清单...
  9. 兴趣部落怎么显示无法连接服务器,QQ兴趣部落将停运 曾被官方通报“诱导未成年人无底线追星”...
  10. 查找对象数组中某属性的最大最小值