gpt4 book ai didi

java - 比较多个 int 变量以查找对或三元组

转载 作者:行者123 更新时间:2023-12-01 13:51:30 28 4
gpt4 key购买 nike

我正在为一项作业编写一个快速的小程序,我想知道是否有人可以告诉我是否有一种方法可以比较多个 int 值并找到彼此匹配的值,例如对或三元组,自然地,使用 boolean 值意味着您仅限于两个值。结合上下文来看,我正在编写一个非常基本的老虎机游戏,如下所示:

//the java Random method is the method that will generate the three random numbers
import java.util.Random;
import java.util.Scanner;

public class slotMachine {
public static void main(String[] args) {

//scanner will eventually be used to detect a cue to exit loop
Scanner loopExit = new Scanner(System.in);

int rand1 = (0);
int rand2 = (0);
int rand3 = (0);

Random randGen = new Random();

rand1 = randGen.nextInt(10);
rand2 = randGen.nextInt(10);
rand3 = randGen.nextInt(10);

System.out.print(rand1);
System.out.print(rand2);
System.out.println(rand3);

//this is the part where I need to compare the variables,
//this seems like a slow way of doing it

if ((rand1 == rand2) || (rand2 == rand3))
{
System.out.println("JACKPOT!");
}

最佳答案

您可以尝试使用康托配对函数为一对或元组创建一个唯一的数字,然后您可以创建一个包含所有可获胜组合的矩阵

wiki:cantor pairing

    ((x + y) * (x + y + 1)) / 2 + y;

基本上可以说获胜组合是(7,7,7)

  1. 首先我们将 (7,7) 对设为 (7+7)*(7+7+1)/2+7 = (14*15)/2 + 7 = 112
  2. 则 (112,7) 为 (112+7)*(112+7+1)/2 + 7 = 7147
  3. 您可以使用 7147 作为您的获胜 key

当他们进行随机化时,您只需计算元组并检查您的获胜矩阵。

关于java - 比较多个 int 变量以查找对或三元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19920814/

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