gpt4 book ai didi

java - Java中的Write语句读取两个整数并显示它们之间的偶数

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:39 25 4
gpt4 key购买 nike

编写可在 Java 程序中使用的语句,包含两个整数并显示它们之间的偶数整数的数量。例如,12 到 5 之间的偶数有 4 个

到目前为止,我所拥有的......该程序输出两个整数之间的所有数字,而不是偶数整数的实际数量。

有人可以帮助/告诉我我做错了什么吗?

import java.util.Scanner;

public class evenNumberPrinter {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);

System.out.println("Enter the smaller integer");
int numOne = keyboard.nextInt();

System.out.println("Enter the larger integer");
int numTwo = keyboard.nextInt();

for (int i = numOne; i <= numTwo; i++) {
System.out.println(i + " ");
}
}
}

最佳答案

要计算偶数的数量,您不必使用 for 循环,公式如下:

static long evenCount(long a, long b) {
return ((Math.abs(a - b) + 1) >>> 1) + ((~((a & 1) | (b & 1))) & 1);
}

一些说明:

  1. 零 (0) 是偶数
  2. 偶数的计数显然取决于两个值之间的距离,让我们提取一些数据:
0-0 - 1 number, distance 0 (0)0-1 - 1 number, distance 10-2 - 2 numbers, distance 2 (0, 2)0-3 - 2 numbers, distance 30-4 - 3 numbers, distance 4 (0, 2, 4)0-5 - 3 numbers, distance 50-6 - 4 numbers, distance 6 (0, 2, 4, 6)1-1 - no even, distance 01-2 - 1 number, distance 1 (2)

因此,偶数的计数由 (distance+1)/2 确定,如果两个数字都是偶数,则加一

所以,如果我们将距离 Math.abs(a-b) + 1 除以二 (>>>1),然后添加 1 当且仅当两个数字都是偶数 (a&1)==0

关于java - Java中的Write语句读取两个整数并显示它们之间的偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com