forked from TheAlgorithms/Java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFrizzyNumber.java
More file actions
32 lines (28 loc) · 874 Bytes
/
FrizzyNumber.java
File metadata and controls
32 lines (28 loc) · 874 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* Author : Siddhant Swarup Mallick
* Github : https://github.com/siddhant2002
*/
/** Program description - To find the FrizzyNumber*/
package com.thealgorithms.maths;
public class FrizzyNumber {
/**
* Returns the n-th number that is a sum of powers
* of the given base.
* Example: base = 3 and n = 4
* Ascending order of sums of powers of 3 =
* 3^0 = 1, 3^1 = 3, 3^1 + 3^0 = 4, 3^2 + 3^0 = 9
* Ans = 9
*
* @param base The base whose n-th sum of powers is required
* @param n Index from ascending order of sum of powers of base
* @return n-th sum of powers of base
*/
public static double getNthFrizzy(int base, int n) {
double final1 = 0.0;
int i = 0;
do {
final1 += Math.pow(base, i++) * (n % 2);
} while ((n /= 2) > 0);
return final1;
}
}