自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 求n的阶乘

利用递归的方法求n的阶乘代码如下:import java.util.Scanner;public class _04_求阶乘 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(true){ System.out.print("请输入一个数"); int num=sc.nextInt(); System.out.println(num+"的阶乘是:"

2020-08-08 13:00:09 302

原创 表白心形

描述:一个适合表白的程序代码如下:public class Aixin { public static void main(String[] args){ for(float y=(float) 2.5;y>-2.5;y -=0.1){ for(float x=(float)-2.5;x<2.5;x+=0.05){ float a = x*x+y*y-1; if((a*a*a-x*x*y*y*y)<=0.0){ System.out.print(

2020-08-07 22:31:35 190

原创 出现k次与出现1次

问题描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数。解题思路:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。应该如何思考呢?如果是两个相同的就可以利用两个相同的数异或结果为0来计算的,但这个题目中其他数字是出现了3次,因此肯定不可以再使用异或了。我们换一个角度来看,如果数组中没有x,那么数组中所有的数字都出现了3次,在二进制上,每位上1的个数肯定也能被3整除。如{1, 5, 1, 5, 1, 5}从二进制上看有:1:0

2020-08-07 17:00:23 387

原创 0~1间浮点实数的二进制表示

问题描述:(1)给定一个介于0 和1之间的实数(如:0.625),类型为double,打印它的二进制表示(0.101,因为小数后的二进制分别表示为0.5,0.25,0.125……)。(2)如果该数字无法精确的用32位以内的二进制表示,则打印“ERROR”。解题分析:小数转二进制乘以2,判断整数位是0还是1,再去整数位,减后的差再乘以2。代码如下:import java.util.Scanner;public class _求0和1之间浮点实数的二进制表示 { public static vo

2020-07-11 19:16:24 685

原创 整数的奇偶位交换

问题描述:将一个整数的二进制表示时的奇位与偶位上的数进行交换。解题思路:先输入的将整数转换成二进制表示,在将这个二进制数与0101 0101 0101 0101 进行与运算,这样是为了保留偶位上的数值。然后再将二进制数与1010 1010 1010 1010进行与运算,这样是为了保留保留奇位上的数值。代码如下:import java.util.Scanner;public class _整数的奇偶为交换 { public static void main(String[] args){

2020-07-10 22:41:31 219

原创 求一个数二进制中的1的个数

问题描述:写一个函数能够实现云输入一个整数,输出该数的二进制表示中1的个数。解题分析:方法一:可以先把n与1做按位与运算,判断最低为是不是1。把1向左移动1位变成2,在与n那位与运算,这样就可以判断n的次低位是不是1,循环往复知道到n最高位判断完,1变成0,同时最为循环停止的条件。代码如下:import java.util.Scanner;public class _求二进制中1的个数 { public static void main(String[] args){ Scanner s

2020-07-10 21:08:04 141

原创 找出唯一成对的数

问题描述:1-1000这个1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来。解题过程:方法一:不用辅助存储空间我们知道一个两个数相同的数异或为0,既然已经知道数组中存放的数中有一个数重复,则可以自己创建一个1~1000的数组,然后再与给出的随机数组异或直接得出那个重复的数代码如下:import java.util.Random;public class _找唯一成对的数_1 {public static

2020-07-09 00:10:48 288

原创 黄金连分数的计算

问题描述:黄金数=这个连分数计算的“层数”越多,它的值越接近黄金分割数,利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数后100位。解题思路:1、化为求斐波那契相邻两项的比值,到多少项?越多就越精确,n/(n+1)项,n再往上增加,这个比值的小数点后101位是稳定的,也就是不变的。2、double无法表示100位小数,BigInteger和BigDecimal可以表示100位小数。代码如下:1、试一试利用double方法求方法一:public class _黄金连分数 { p

2020-07-08 00:09:08 2772

原创 枚举算法

问题描述:假设a b c d e代表1~9不同的5个数字(注意是各不相同的数字,且不含0),能满足形:abcde = cbdce这样的算式一共有多少种呢?代码如下:

2020-07-06 07:05:08 392

原创 计算未来离现在最近的是星期天的年份

问题描述:1999年12月31日是星期五,请问:未来哪个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天?请回答年份(只写这4位整数,不要写12月31日等多余的信息)代码如下:

2020-07-04 18:09:52 143

原创 走格子的路径有多少条(java)

问题描述:在一个5x4的格子中,先从左上角的第一个格子开始跳跃,每一次只能跳到相邻的右边的或下边的格子中,直到跳到右下角最后一个格子结束,算一算共有多少种可能的跳跃路线。思路分析:(1)递归法由于只能往右或往下跳跃,就可以先各自算出往右和往下跳跃的时的路线数,然后再相加得到总的路线数。(2)直接计数法每完成一次完整的跳跃数量就加1,知道没有路线为止。代码如下:运行结果如下:...

2020-07-02 00:15:59 1105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除