diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-02-28 12:49:57 +0000 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-02-28 12:49:57 +0000 |
| commit | 37770e6a944ec80fbbbe98206bc04b64e050cf81 (patch) | |
| tree | 4348257c952c004a37d8125e5cfdd56f444dbaed | |
| parent | 30f02861315dc48c8a2bf2aecc927ea8a8fbbd04 (diff) | |
| download | perlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.tar.gz perlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.tar.bz2 perlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.zip | |
Adding Kotlin solution for origin-containing triangle
| -rw-r--r-- | challenge-101/ziameraj16/README.md | 22 | ||||
| -rw-r--r-- | challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt | 25 |
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-101/ziameraj16/README.md b/challenge-101/ziameraj16/README.md index bdcc1e38b4..7662230091 100644 --- a/challenge-101/ziameraj16/README.md +++ b/challenge-101/ziameraj16/README.md @@ -37,3 +37,25 @@ Enter third coordinates -6,0 Output: 1 ``` + +## Kotlin Solution +To compile the code run +```java +kotlinc OriginContainingTriangleKotlin.kt +``` +To run +```java +kotlin OriginContainingTriangleKotlin +``` +### Example +```bash +/perlweeklychallenge-club/challenge-101/ziameraj16/kotlin$ kotlinc OriginContainingTriangleKotlin.kt +/perlweeklychallenge-club/challenge-101/ziameraj16/kotlin$ kotlin OriginContainingTriangleKotlin +Enter first coordinates +0,1 +Enter second coordinates +2,0 +Enter third coordinates +-6,0 +Output: 1 +``` diff --git a/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt b/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt new file mode 100644 index 0000000000..bda9b2876c --- /dev/null +++ b/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt @@ -0,0 +1,25 @@ +import java.util.* + +object OriginContainingTriangleKotlin { + + @JvmStatic + fun main(args: Array<String>) { + val scanner = Scanner(System.`in`) + println("Enter first coordinates") + val firstCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray() + println("Enter second coordinates") + val secondCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray() + println("Enter third coordinates") + val thirdCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray() + println("Output: " + doesTriangleContainsOrigin(firstCoordinate[0], firstCoordinate[1], secondCoordinate[0], secondCoordinate[1], thirdCoordinate[0], thirdCoordinate[1])) + } + + fun doesTriangleContainsOrigin(x1: Int, y1: Int, x2: Int, y2: Int, x3: Int, y3: Int): Int { + val area = Math.abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0) + val area1 = Math.abs((x2 * y3 + x3 * -y2) / 2.0) + val area2 = Math.abs((x1 * -y3 + x3 * y1) / 2.0) + val area3 = Math.abs((x1 * y2 + x2 * -y1) / 2.0) + val aumOfAreaOfSmallTriangles = area1 + area2 + area3 + return if (area == aumOfAreaOfSmallTriangles) 1 else 0 + } +} |
