Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit56118df

Browse files
committed
Add factorial snippet
1 parentf32e624 commit56118df

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

‎README.md‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Update the sample application with the snippet and add a test for it. After prov
1414
*[Generic N array concatenation](#generic-N-array-concatenation)
1515

1616
###Math
17+
*[Factorial](#factorial)
1718
*[Fibonacci](#fibonacci)
1819

1920
##Array
@@ -55,9 +56,23 @@ Update the sample application with the snippet and add a test for it. After prov
5556
###Fibonacci
5657

5758
```java
58-
publicstaticintfibonacciSimple(int n) {
59+
publicstaticintfibonacci(int n) {
5960
if (n<=1)return n;
60-
elsereturn fibonacciSimple(n-1)+ fibonacciSimple(n-2);
61+
elsereturn fibonacci(n-1)+ fibonacci(n-2);
62+
}
63+
```
64+
65+
[⬆ back to top](#table-of-contents)
66+
67+
###Factorial
68+
69+
```java
70+
publicstaticint factorial(int number) {
71+
int result=1;
72+
for (int factor=2; factor<= number; factor++) {
73+
result*= factor;
74+
}
75+
return result;
6176
}
6277
```
6378

‎src/main/java/Library.java‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,18 @@ public static int fibonacci(int n) {
5151
if (n <=1)returnn;
5252
elsereturnfibonacci(n-1) +fibonacci(n-2);
5353
}
54+
55+
/**
56+
* Factorial
57+
* Works only for small numbers
58+
* @param number for which factorial is to be calculated for
59+
* @return factorial
60+
*/
61+
publicstaticintfactorial(intnumber) {
62+
intresult =1;
63+
for (intfactor =2;factor <=number;factor++) {
64+
result *=factor;
65+
}
66+
returnresult;
67+
}
5468
}

‎src/test/java/LibraryTest.java‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,21 @@ public void testFibonacci() {
5757
assertEquals(34,Library.fibonacci(9));
5858
assertEquals(55,Library.fibonacci(10));
5959
}
60+
/**
61+
* Tests for {@link Library#factorial(int)}
62+
*/
63+
@Test
64+
publicvoidtestFactorial() {
65+
assertEquals(1,Library.factorial(0));
66+
assertEquals(1,Library.factorial(1));
67+
assertEquals(2,Library.factorial(2));
68+
assertEquals(6,Library.factorial(3));
69+
assertEquals(24,Library.factorial(4));
70+
assertEquals(120,Library.factorial(5));
71+
assertEquals(720,Library.factorial(6));
72+
assertEquals(5040,Library.factorial(7));
73+
assertEquals(40320,Library.factorial(8));
74+
assertEquals(362880,Library.factorial(9));
75+
assertEquals(3628800,Library.factorial(10));
76+
}
6077
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp