gpt4 book ai didi

java - 简单编程练习(使用模运算)

转载 作者:行者123 更新时间:2023-12-02 11:55:31 25 4
gpt4 key购买 nike

第一个问题,我正在尝试进行一种练习,如果给定的非负数是 3 或 5 的倍数,但不是两者的倍数,则要求我返回 true。例子是;

old35(3) → 正确

old35(10) → 正确

old35(15) → 假

所以 3 是正确的,因为它是 3 的倍数,但我目前无法使我的代码适用于所有实例。代码如下;

public boolean old35(int n) {
if ((35 % n == 3) || (35 % n == 5))
return true;
return false;
}

我如何编辑它以符合实践告诉我要做的事情的标准?>

最佳答案

我会给出详细的解释。首先,使用余数符号来检查余数为零的条件;

n % 3 == 0

n % 5 == 0

然后,为了根据您的条件进行一对一翻译,请将它们组合在一起:

((n % 3 == 0) || (n % 5 == 0)) // Multiple of 3 or 5

!((n % 3 == 0) && (n % 5 == 0)) // But not both

将它们添加(和)在一起;

public static boolean old35(int n) {
return(((n % 3 == 0) || (n % 5 == 0)) && !((n % 3 == 0) && (n % 5 == 0)));
}

但简单地说,您所做的是 XOR (^) 运算,以下代码是有效且简单的:

public static boolean old35(int n) {
return((n % 3 == 0) ^ (n % 5 == 0));
}

关于java - 简单编程练习(使用模运算),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47631109/

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