java 1 20内奇数的乘积_计算所有奇数的乘积
解决方案
目前,您的脚本设置为添加从1到1000的所有奇数。
要执行该产品,您只需将product的起始值更改为1并在循环内相乘:
product = 1;
for i = 1:2:1000
product = product * i;
end
但是,创建一个向量并使内置prod函数执行乘法更快:
product = prod(1:2:1000);
问题
默认情况下,MATLAB在默认的64位数字中没有足够的内存来计算此产品的确切值。
这个数字太大了,因为这实际上是一个因子。
你会发现MATLAB为你正在乘以的500个数字返回Inf,并且它最多只能包含150个元素。
事实上,使用浮点运算,使用浮点数的前17位数字为only accurate up to 15 digits(整数也在该级别饱和)。
使用Mathematica(由于我感觉懒惰,它可以开箱即用地执行任意数字算术),我可以看到答案需要至少1300位精度,我们可以让MATLAB通过符号来完成工具箱的vpa功能:
digits(1300);
p = vpa(1);
pint = vpa(1);
for k = 2:N
pint = pint*p(k);
end
disp(pint);
>> StackOverflow
100748329763750854004038917392303538250323418583550415705013777513334847930864905026212149922688916514224446856302103818809813965739969905602683824057028542369814437703275217182106137628427025253936696857063927677887236450311036887007989218384076420973974651860279864376153012567675767840733574225799002463604490891982796305162134708837541147007332276627034016790073315219533088052639255340728943149219519187498959529434982654113006616219355830114439411562650611374970334868978510289340267833632215930432706056111069583472778227977585526504938921664232801595705593340414168289146933191250605578218896799783237156997993612173843567447982392426109444012350386990916069363415575527636429080027392875413821124412782341957015410685185402984322002697631153866494712956244870206835064084512590679022924697003630949759950902438767963278695296882620493296103779237046934780464541286585179975172680371269700518965123152181467825566303777704391998857792627009043170482928030252033752456172692668989206857862233381387134495504231267039972111966329704875185659372569246229419619030694680808504265784672316785572965414328005856656944666840982779185954031239345256896720409853053597049715408663604581472840976596002762935980048845023622727663267632821809277089697420848324327380396425724029541015625.0
java 1 20内奇数的乘积_计算所有奇数的乘积相关推荐
- python矩阵和向量乘积_矩阵与向量的乘积
以下内容来源于:https://www.zhihu.com/people/August_666/posts 先上运算,再解读: 一个矩阵乘以一个列向量相当于矩阵的列向量的线性组合. 一个行向量乘以矩阵 ...
- Java *2.20(金融应用程序:计算利息)如果知道余额和年利率百分比,就可以使用下面的公式计算下个月的利息:利息 = 余额 * (年利率百分比 / 1200)
编写程序,读取余额和年利率百分比,打印下个月的利息.下面是一个运行示例: Enter balance and interest rate (e.g.,3 for 3%):1000 3.5 The in ...
- python矩阵和向量乘积_向量点积和矩阵乘积的区别
点积 dot product 点积是针对向量而言的. 我们可以理解为维度[n,1]或者[1,n],一维的矩阵. 在python中,我们设置一个array,查看其shape: >>> ...
- #102030:在30天内运行20 10K来庆祝Java的20年
1995年5月23日是技术史上的重要时刻. 业界似乎并没有意识到当天发布的语言会在未来几年内完全改变技术的格局. Java将在今年的同一天庆祝20岁生日. Java 20年,哇! 回顾20年前的存储器 ...
- 100内奇数之和流程图_数字物理猎奇研究|纯奇数数集中的加法,法则中的“n”的含义...
自然数集包含奇偶互补子集:奇--偶. 自然数加法法则是: 奇+1=偶 偶+1=奇 奇+奇=偶 奇+偶=奇 奇+奇+奇=奇 在大于等于3的纯奇数数集内部,却包含着说怪不怪的加法法则: 奇+奇=奇+1 奇 ...
- [JAVA]使用if…else语句编写代码。定义一个整型变量a,为其赋值为20,判断20是奇数还是偶数,如果为奇数,输出“a是奇数”,否则输出“a是偶数”
使用if-else语句编写代码.定义一个整型变量a,为其赋值为20,判断20是奇数还是偶数,如果为奇数,输出"a是奇数",否则输出"a是偶数" public c ...
- 求解出n以内所有能被5整除的正整数的乘积_【小学奥数】所有知识点
小学奥数知识点汇总,所有奥数知识点都在这啦!还包括小升初中常考的题目类型等.内含工程问题.行程问题.质数合数问题等等.快收藏吧!1.年龄问题的三大特征①两个人的年龄差是不变的:②两个人的年龄是同时增加 ...
- 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结
20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...
- Java的进程内缓存框架:EhCache (转)
EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种缓存 ...
- 用Java输出100内的质数和合数(包含100)
目录 前言: 1.用Java输出100内的质数 2.用Java输出100内的合数 补充一下: 前言: 质数的概念:除了1和它本身以外不再有其它的因数,这个数就是质数. 合数的概念:除了1和它本身以外还 ...
最新文章
- c语言将ascii码存入eeprom,微机原理复习题答案+_Fixed
- [译][Tkinter 教程10] Text 控件
- Linux内核移植之一:内核源码结构与Makefile分析
- 蓝队视角下的企业安全运营
- 为什么大部分程序员看不起PHP这门语言?
- mysql navicat如何为表添加外键?
- Bash Shell学习笔记五
- 基于轻量型Web服务器Raspkate的RESTful API的实现
- Spring.NET学习笔记22——整合WCF(应用篇) Level 200
- [ROS-Beginner]6.理解ROS的Topics
- javaee7实现websocket_websocket协议,tcp分包与粘包解决
- Super Mario HDU 4417 主席树区间查询
- 车规SoC芯片厂商征战功能安全,谁是最佳助力者?
- iCollections for Mac(桌面图标及文件整理工具)
- 浏览器标准模式和怪异模式之间的区别是什么——整理自网页
- 定时打开指定程序软件
- iOS开发—音视频入门学习必看
- 光纤连接器的连接方法
- .tar和.tar.gz的区别
- 深度学习模型的Android部署方法