私の問題は主に数学的な論理問題です。結果がドットではない除算を生成し、除数と被除数が数値の範囲からランダムに生成されます
私は部門を生成するアンドロイドアプリを持っています。
私は、除数と被除数が特定の範囲の数値(無作為に10-1000)からランダムに生成され、どの結果がドットなしの数値であるかを生成する必要があります。例えば
:
A(10-1000):B(10-1000)= C(ドットなしの数)
誰もが私の目標を達成する方法を知っています。数学は私の友人ではありません。
は
私の問題は主に数学的な論理問題です。結果がドットではない除算を生成し、除数と被除数が数値の範囲からランダムに生成されます
私は部門を生成するアンドロイドアプリを持っています。
私は、除数と被除数が特定の範囲の数値(無作為に10-1000)からランダムに生成され、どの結果がドットなしの数値であるかを生成する必要があります。例えば
:
A(10-1000):B(10-1000)= C(ドットなしの数)
誰もが私の目標を達成する方法を知っています。数学は私の友人ではありません。
は
ここでは "数学" の論理(例えば、値を)ありがとう:
で割り切れる場合((2〜2.5%)> 0)別名チェックすると2が2.5
上記の例が偽である限り、ランダムに生成された値は整数または "ドットなしの数字"を返しません。
Random random = new Random();
int lowerbound = 10;
long counter = 0;
while(true){
double a = random.nextInt(10000-lowerbound)+lowerbound+1;//a number between 10 and 10000
double b = random.nextInt(10000-lowerbound)+lowerbound+1;//a number between 10 and 10000
double result = (a/b);
if((result % Math.round(result)) == 0){
System.out.println(a + "/" + b + "=" + result);
int ires = (int) Math.round(result);
System.out.println(ires);
break;
}
counter++;
}
除算の結果を整数にしたい場合は、乗算を開始する必要があります。 A/B = Cの場合、A = B * Cです。まず、2つのランダムな整数(「ドットなし」)BとCを選択します。 A/Bとは何ですか?その答えは、整数C.
いくつかの擬似コードのようになります
B <- 10 + rand(991) // B in [10..1000]
C <- 10 + rand(991) // C in [10..1000]
A <- B * C
display("What is " + A + "/" + B + "?")
read(answer)
if (answer == C)
display ("Correct. Well done.")
else
display("Wrong answer. The correct answer was " + C)
end if
あなたはドットなしで数を言うとき、あなただけの整数を意味するのですか?たとえば、3.14ではなく3を指定しますか? –
はい、結果は正の整数でなければなりません – MDP