当前位置: 首页 > news >正文

网站设计企绍兴市越城区建设局网站

网站设计企,绍兴市越城区建设局网站,一个网站开发流程,可视化在线做网站一、题目 【问题描述】 令 S 1 ! 2 ! 3 ! . . . 202320232023 ! S 1! 2! 3! ... 202320232023!S1!2!3!...202320232023!,求 S SS 的末尾 9 位数字。 提示:答案首位不为 0。 【答案提交】 这是一道结果填空的题,你只需要算出结果后…

一、题目 

【问题描述】

令 S = 1 ! + 2 ! + 3 ! + . . . + 202320232023 ! S = 1! + 2! + 3! + ... + 202320232023!S=1!+2!+3!+...+202320232023!,求 S SS 的末尾 9 位数字。 提示:答案首位不为 0。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

二、思路

        我自己想的时候是直接去计算1~202320232023的阶乘,可是202320232023超过了int的范围,也超过了long的范围,于是查看了答案,目前有两种思路:

        1.法一

        我们可以看到从39的阶乘之后后9位的阶乘都是0,(这也是题目中为啥让我们算末尾9位数了,相当于不用加40,41,42...等的阶乘),转化为,求1~39的阶乘和。

各阶乘数
10!3628800
20!2432902008176640000
30!                                           265252859812191058636308 480000000
...
39!                20397882081197443358640281739902897356 800000000
40!              815915283247897734345611269596115894272 000000000
41!         33452526613163807108170062053440751665152 000000000
42!      1405006117752879898543142606244511569936384 000000000
43!    60415263063373835637355132068513997507264512 000000000
44!2658271574788448768043625811014615890319638528 000000000

        但我们也不是单纯的算1~39的阶乘,因为计算的过程中数将会非常的大,我们在每次算到某个数的阶乘时把它对 模运算9 得到后9位数字 ,同时,把这个数加到阶乘和 里的时候也要 模9,最终直接输出即可。

package lan2023;public class A阶乘求和 {public static void main(String[] args) {long s = 0;long j = 1;for(int i = 1; i <= 39; i++) {j = j * i % (long)1e9; s = s + j;s = s % (long)1e9;}System.out.println(s);}
}

运行结果: 420940313

二、法二:

        因为这个题涉及到阶乘 甚至要 求和,我们此时可以使用BigInteger类 ,

创建BigInteger类:

以字符串的形式:BigInteger sum = new BigInteger("0");

以long型数据:BigInteger sum = BigInteger.valueOf(0);

方法:

加 a.add(b)

减 a.subtract(b)

乘 a.multiply(b)

除 a.divide(b)

比较大小 a.compareTo(b)

package lan2023;import java.math.BigInteger;public class A阶乘求和 {public static void main(String[] args) {	BigInteger sum = BigInteger.valueOf(0);BigInteger j = BigInteger.valueOf(1);for(int i = 1; i <= 39; i++) {j = j.multiply(BigInteger.valueOf(i));sum = sum.add(j);}System.out.println(sum);//最后记得取后9位}
}

使用 大数(BigInteger) 时也没什么不同,就是不管啥时候要使用他的方法,运算的时候 两个数都要是大数 注意: 将一个整数a转化位大数 BigInteger.valueOf(a)

http://www.yayakq.cn/news/551697/

相关文章:

  • wordpress发布视频链接win10优化大师官网
  • 怎么在网上销售如何优化网站快速排名
  • 保定市建设局安监网站做网站引流的最佳方法
  • 中卫网站设计建站公司专业定制
  • 互联网教育网站开发营销推广ppt
  • 国家建设部标准官方网站网页搜索能力属于什么素养
  • 中国建设银行积分兑换网站为什么无法登录建设银行网站
  • 部门网站开发外贸网站虚拟主机
  • 鹰潭房产网站建设网站空间域名能不能自己续费
  • 国建设网站永州市开发建设投资有限公司网站
  • 泉州免费做网站wordpress布局可视化
  • 制作百度移动网站模板免费下载一家专门做护肤的网站
  • 外贸网站建设深圳高品质网站开发
  • 怎么样学做网站贷款网站开发
  • 谈谈你在建设主题资源网站时邯郸网站设计价格
  • 门户网站制度建设网站因该怎么做参考文献
  • 优秀的商城网站首页设计做问答的网站
  • 新开传奇网站发布网孞知名商业网站有哪些
  • 上海松江品划建设网站网站建设公司话术
  • 做网站要学什么电子商务网站建设ppt模板
  • 南京网站维护公司温州 建网站的公司
  • wordpress网站速度某购物网站开发项目
  • 中国铁路监理建设协会网站深圳制作网站公司哪里好
  • 专业设计网站公司wordpress 会员等级
  • 淘客返利网站建设新楼盘开盘信息
  • 手机网站qq代码wordpress编辑导航菜单视频教程
  • 企业官网建站seo技术自学
  • 如何做登陆界面的网站wordpress 电子杂志
  • 建设网站河北建设网金华网站如何制作
  • 有些网站打不开怎么解决贵港seo