醜い数字
醜い数は、素因数が2、3、または5である数です。1から15まで、11の醜い数1、2、3、4、5、6、8があります。 9、10、12、15。7、11、13の数字は素数であるため、醜いものではありません。素因数で7が来るので、14という数字は醜いものではありません。
このプログラムでは、n番目の醜い番号を見つけようとします。
入力と出力
Input: Take the term number. Say it is 10 Output: The 10th ugly number is 12
アルゴリズム
getUglyNumbers(n)
入力: 用語の数。
出力: n番目の醜い数字を見つけます。
Begin define array named uglyNum of size n i2 := 0, i3 := 0, i5 := 0 next2mul := 2, next3mul := 3, next5Mul := 5 next := 1 ugluNum[0] := 1 for i := 1 to n, do next := minimum of next2Mul, next3Mul and next5Mul uglyNum[i] := next if next = next2Mul, then i2 := i2 + 1 next2mul := uglyNum[i2] * 2 if next = next3Mul, then i3 := i3 + 1 next3mul := uglyNum[i3] * 3 if next = next5Mul, then i5 := i5 + 1 next5mul := uglyNum[i5] * 5 done return next End
# include<iostream> using namespace std; int min(int x, int y, int z) { //find smallest among three numbers if(x < y) { if(x < z) return x; else return z; }else { if(y < z) return y; else return z; } } int getUglyNum(int n) { int uglyNum[n]; // To store ugly numbers int i2 = 0, i3 = 0, i5 = 0; //find next multiple as 1*2, 1*3, 1*5 int next2mul = 2; int next3mul = 3; int next5mul = 5; int next = 1; //initially the ugly number is 1 uglyNum[0] = 1; for (int i=1; i<n; i++) { next = min(next2mul, next3mul, next5mul); //find next ugly number uglyNum[i] = next; if (next == next2mul) { i2++; //increase iterator of ugly numbers whose factor is 2 next2mul = uglyNum[i2]*2; } if (next == next3mul) { i3++; //increase iterator of ugly numbers whose factor is 3 next3mul = uglyNum[i3]*3; } if (next == next5mul) { i5++; //increase iterator of ugly numbers whose factor is 5 next5mul = uglyNum[i5]*5; } } return next; //the nth ugly number } int main() { int n; cout << "Enter term: "; cin >> n; cout << n << "th Ugly number is: " << getUglyNum(n) << endl; }
出力
Enter term: 10 10th Ugly number is: 12
-
Javaでの数値配列のLCM
L.C.M.または2つの値の最小公倍数は、両方の値の倍数である最小の正の値です。 たとえば、3と4の倍数は次のとおりです。 3→3、6、9、12、15 ... 4→4、8、12、16、20 ... 両方の最小公倍数は12であるため、3と4のLCMは12です。 プログラム 次の例では、数値の配列のLCMを計算します。 public class LCMofArrayOfNumbers { public static void main(String args[]) { int[] myArray = {25, 50,
-
JavaScript番号の例
以下はJavaScriptの数字の例です- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body