Skip to content

Commit

Permalink
Add the playground for the first challenge
Browse files Browse the repository at this point in the history
  • Loading branch information
David Cordero committed Jan 19, 2016
1 parent 6ccda71 commit 756e267
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 1 deletion.
38 changes: 38 additions & 0 deletions Challenges/0001-The_3n+1_problem/The3n+1.playground/Contents.swift
@@ -0,0 +1,38 @@
/*:
## Challenge 1: **The 3n+1 problem**
Consider the following algorithm to generate a sequence of numbers. Start with an integer n. If n is even, divide by 2. If n is odd, multiply by 3 and add 1. Repeat this process with the new value of n, terminating when n = 1. For example, the following sequence of numbers will be generated for n = 22:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
It is conjectured (but not yet proven) that this algorithm will terminate at n = 1 for every integer n. Still, the conjecture holds for all integers up to at least 1,000,000.
For an input n, the cycle-length of n is the number of numbers generated up to and including the 1. In the example above, the cycle length of 22 is 16. Given any two numbers i and j, you are to determine the maximum cycle length over all numbers between i and j, including both endpoints.
## Input
The input will consist in a couple of integers. All of them will be less than 1,000,000 and greater than 0.
## Output
For each pair of input integers i and j, output i, j in the same order in which they appeared in the input and then the maximum cycle length for integers between and including i and j. These three numbers should be separated by one space, with all three numbers on one line and with one line of output for each line of input.
## Sample Inputs
1 10
100 200
201 210
900 1000
## Sample Outputs
1 10 20
100 200 125
201 210 89
900 1000 174
*/


func challenge_1(i: Int, j: Int) -> Int {

<#Write here your solution#>

}

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='5.0' target-platform='ios' display-mode='rendered'>
<timeline fileName='timeline.xctimeline'/>
</playground>

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<Timeline
version = "3.0">
<TimelineItems>
<LoggerValueHistoryTimelineItem
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=2&amp;EndingColumnNumber=18&amp;EndingLineNumber=3&amp;StartingColumnNumber=12&amp;StartingLineNumber=3&amp;Timestamp=474936420.724354"
lockedSize = "{1430, 52}"
selectedRepresentationIndex = "0"
shouldTrackSuperviewWidth = "NO">
</LoggerValueHistoryTimelineItem>
<LoggerValueHistoryTimelineItem
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=2&amp;EndingColumnNumber=40&amp;EndingLineNumber=3&amp;StartingColumnNumber=1&amp;StartingLineNumber=3&amp;Timestamp=474936420.72469"
lockedSize = "{1438, 50}"
selectedRepresentationIndex = "0"
shouldTrackSuperviewWidth = "NO">
</LoggerValueHistoryTimelineItem>
<LoggerValueHistoryTimelineItem
documentLocation = "#CharacterRangeLen=0&amp;CharacterRangeLoc=2&amp;EndingColumnNumber=40&amp;EndingLineNumber=3&amp;StartingColumnNumber=1&amp;StartingLineNumber=3&amp;Timestamp=474936420.724944"
lockedSize = "{1439, 50}"
selectedRepresentationIndex = "0"
shouldTrackSuperviewWidth = "NO">
</LoggerValueHistoryTimelineItem>
</TimelineItems>
</Timeline>
File renamed without changes
2 changes: 1 addition & 1 deletion README.md
@@ -1,5 +1,5 @@

![](banner.png)
![](Images/banner.png)

Welcome this challenging playground for those how love coding. Inspired by [programming-challenges.com](http://programming-challenges.com), [SwiftAlgorithmsClassroom](https://github.com/gmertk/SwiftAlgorithmsClassroom) and the [Fellowswift](http://fellowswift.com) community.

Expand Down

0 comments on commit 756e267

Please sign in to comment.