iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java中1+1d/5和1+1/5的区别说明
  • 596
分享到

java中1+1d/5和1+1/5的区别说明

2024-04-02 19:04:59 596人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录java 1+1d/5和1+1/5的区别主要区别就是数据类型不同计算1+1/2!+1/3!+...+1/20!之和java 1+1d/5和1+1/5的区别 主要区别就是数据类型不

java 1+1d/5和1+1/5的区别

主要区别就是数据类型不同

1+1d/5的结果是1.2, 是double类型. 因为1d就是double类型,1d/5结果自动提升成double类型,1+1d/5结果也自动提升成double类型. .

1+1/5的结果1, 是int类型, 因为1/5是整除(会丢失小数部分的精度…) . 两边操作数都是int类型. 最后在加上1还是int类型.所以结果就是int类型.

java参考代码如下


public class Test {
public static void main(String[] args) {
    double num1 = 1 + 1d / 5;
    System.out.println(num1);//输出1.2
    int num2    = 1 + 1 / 5;
    System.out.println(num2);//输出1
 }
}

计算1+1/2!+1/3!+...+1/20!之和

原题:计算1+1/2!+1/3!+…+1/20!之和

观察题目,本题难点就是要计算阶乘,不妨用一个循环来计算阶乘,再用一个循环来计算从1/1!到1/20!的和。代码如下


package java1;
public class sum {
   public static void main(String args[]) {
	   //用s来表示阶乘结果
	   int s=1;
	   double sum=0;
	  //计算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   //分别计算j从1到20的阶乘
		   for(int j=1;j<=i;j++) {
			   s=s*j;
		   }
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

这个输出结果为无穷,我当时想半天也没结果,后来同学指出我每次算每个数的阶乘时并没有将重置为1;所以正确代码如下


package java1;
public class sum {
   public static void main(String args[]) {
	   //用s来表示阶乘结果
	   double sum=0;
	  //计算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   //每次算完阶乘后,计算下一次阶乘时都要将s重置为1
		   int s=1;
		   //分别计算j从1到20的阶乘
		   for(int j=1;j<=i;j++) {
			   s=s*j;
		   }
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

正确结果如下

在这里插入图片描述

可以观察到上面代码的时间复杂度为o(n^2),我们其实可以思考一下如何运用优化阶乘,我这里听老师说阶乘可以运用递归思想。代码如下


package java1;
public class sum {
	//运用递归用来计算从1到20分别的阶乘结果
	public static int JieChen(int i) {
		   if(i==1) {
			   return 1;
		   }
		   else {
			   return (JieChen(i-1)*i);
		   }
	}
   public static void main(String args[]) {
	   double sum=0;
	  //计算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   int s;
		   //用来计算i的阶乘
		   s=JieChen(i);
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

运用上面思路不仅可以计算有限的阶乘分之一的和,而且我们还可以拓展到计算无限个

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java中1+1d/5和1+1/5的区别说明

本文链接: https://www.lsjlt.com/news/137491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中1+1d/5和1+1/5的区别说明
    目录java 1+1d/5和1+1/5的区别主要区别就是数据类型不同计算1+1/2!+1/3!+...+1/20!之和java 1+1d/5和1+1/5的区别 主要区别就是数据类型不...
    99+
    2024-04-02
  • RAID 0 1 5 10特点和区别
    文章目录 前言一、RAID 是什么??二、RAID 有哪些?三.区别 总结 前言 RAID有多种整合方式,主要有:RAID 0 1 5 10 ,不同的RAID是否有不同的功能,用什么...
    99+
    2023-10-11
    运维 服务器 linux
  • java中a=a+1和a+=1的区别介绍
    目录java a=a+1和a+=1的区别测试用例调用的方法Java趣事a=a++和a=++a整个过程大致就是这样,来一幅图解释吧java a=a+1和a+=1的区别 测试用例调用的...
    99+
    2024-04-02
  • C++关于/2和>>1的区别说明
    目录/2和>>1的区别1.操作对象类型不同2.运算效率不同3.优先级不同C++ <<和>>的意思<<是左移运算符的意思>>...
    99+
    2024-04-02
  • java中a=a+1和a+=1的区别是什么
    本篇内容介绍了“java中a=a+1和a+=1的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!java a=a+1和a+=1的区别...
    99+
    2023-06-21
  • Java中system.exit(0)和system.exit(1)区别
    目录system.exit(0) 和 system.exit(1)区别:用法system.exit(0) 和 system.exit(1) java.lang.System源码,方法...
    99+
    2023-05-20
    system.exit(0) system.exit(1)
  • 服务器和云服务器区别,1对1服务器的区别
    1对1服务器(Personal Server Computing)是一种专门为个人或小型组织而设计的服务器,它允许一个用户从一个服务器访问另一个用户,而不是由一台服务器来进行管理和服务。这种服务器通常只能容纳一个用户,但它可以在不需要第三方...
    99+
    2023-10-26
    服务器 区别
  • 服务器和云服务器区别,1对1服务器的区别在哪
    1对1服务器(Peer to Peer Server)是一种服务器架构,它将多个客户应用程序分配给一台服务器来提供服务。这种服务器可以使用专门的网络设备和软件来构建,可以通过互联网或专用网络提供服务。 1对1服务器通常需要专门的硬件设备和...
    99+
    2023-10-26
    服务器 区别
  • 服务器和云服务器区别,1对1服务器的区别在哪里
    1对1服务器(Peer to Peer Server)是一种基于互联网的云计算模型,它可以提供一种高速、稳定和安全的虚拟服务器托管服务,用户可以随时随地访问和管理他们的服务器。 1对1服务器通常用于大规模数据处理、云存储和远程服务,可以提...
    99+
    2023-10-26
    服务器 区别
  • 服务器和云服务器区别,1对1服务器的区别是什么
    1对1服务器(1-1 服务器)是一种高可用性服务器,它可以为每个客户端提供高级别的可靠性和可用性。 1对1服务器通常提供高可用性(HA)功能,以确保即使在故障发生时,服务器仍能够保持其可用性。它通过在多个服务器之间共享相同的资源来降低了故...
    99+
    2023-10-26
    服务器 区别
  • Mysql中tinyint(1)和tinyint(4)的区别详析
    目录1. varchar(M)和数值类型tinyint(M) 的区别2 测试总结1. varchar(M)和数值类型tinyint(M) 的区...
    99+
    2024-04-02
  • 服务器和云服务器区别,1对1服务器的区别在哪儿
    1对1服务器(Peer to Peer Server)是一种基于互联网的云计算模型,它通过一台服务器来实现多个用户之间的负载平衡和通信服务。与传统的本地服务器相比,1对1服务器可以提供更快的响应速度和更好的可扩展性。 相比于传统的本地服务...
    99+
    2023-10-26
    服务器 区别
  • 浅谈mysql中int(1)和int(10)的区别
    目录困惑数据说话零填充总结困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx ADD user_...
    99+
    2024-04-02
  • 服务器和云服务器区别,1对1服务器的区别是什么意思
    1对1服务器(Peer to Peer Server)是一种网络服务器,用于在同一客户端和同一服务器之间共享信息。这种服务器通常由大型公司建立和维护,并通过专用网络连接到它们的多个节点。它们可以提供高速、可靠、安全的服务,例如视频会议、在线...
    99+
    2023-10-26
    服务器 区别
  • 服务器和云服务器区别,1对1服务器的区别在哪里呢
    1对1服务器(Server-to-Site Raider)是一种服务器架构,是指在单一操作系统上运行多台服务器,由一组操作系统服务器和存储系统等组成。这种方式通常是在单一的主机上运行服务器,因此它们之间可以相互共享存储、处理和监控资源。这种...
    99+
    2023-10-27
    服务器 区别
  • 服务器和云服务器区别,1对1服务器的区别是什么呢
    1对1服务器(1server)是一种服务器端的网络服务器,它可以为多个用户提供单一的连接。用户可以通过该服务器与其他用户或应用程序进行通信和协作。它也被用于在各种场景中,如在大规模数据中心的分布式系统中,创建高可用性的分布式数据库。 云服...
    99+
    2023-10-26
    服务器 区别 什么呢
  • Mysql中tinyint(1)和tinyint(4)的区别是什么
    这篇文章主要介绍了Mysql中tinyint(1)和tinyint(4)的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. varchar(M)和数值类...
    99+
    2023-06-29
  • SHELL中的exit 0 和 exit 1有什么区别
    在SHELL脚本中,exit 0和exit 1是用来表示命令或脚本的执行状态的两个特定的退出码。这两个退出码有以下区别:1. exi...
    99+
    2023-09-16
    SHELL
  • mysql中int(1)和int(10)有哪些区别
    这篇文章给大家分享的是有关mysql中int(1)和int(10)有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提...
    99+
    2023-06-29
  • 云服务器1核和2核的区别
    云服务器1核和2核是指在一个服务器上运行两个或两个以上的CPU核心。这两个CPU的主要区别在于它们对外部输入的I/O请求和资源的利用率不同,以下是它们的主要区别: 处理器速度:云服务器1核处理器通常比2核处理器更快,因为在一个CPU上只...
    99+
    2023-10-26
    区别 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作