inital commit. about to start file IO.
This commit is contained in:
		
						commit
						054879c11d
					
				
					 19 changed files with 564 additions and 0 deletions
				
			
		
							
								
								
									
										16
									
								
								collatz/collatz.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								collatz/collatz.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
 | 
			
		||||
def nextInSequence(number):
 | 
			
		||||
    if isinstance(number, int):
 | 
			
		||||
        if number % 2 == 0:
 | 
			
		||||
            return number // 2
 | 
			
		||||
        else:
 | 
			
		||||
            return 3*number+1
 | 
			
		||||
    else:
 | 
			
		||||
        raise TypeError('input must be int!')
 | 
			
		||||
 | 
			
		||||
def seqenceLength(number):
 | 
			
		||||
    length = 0
 | 
			
		||||
    while number != 1:
 | 
			
		||||
        number = nextInSequence(number)
 | 
			
		||||
        length += 1
 | 
			
		||||
    return length
 | 
			
		||||
							
								
								
									
										24
									
								
								collatz/collatzSearch.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								collatz/collatzSearch.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
#! /usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import collatz
 | 
			
		||||
 | 
			
		||||
usage='usage: collatzSearch [digits] outputs the lenght of the collatz sequence for every number less than 10^digits'
 | 
			
		||||
 | 
			
		||||
if len(sys.argv)<2:
 | 
			
		||||
    print(usage)
 | 
			
		||||
    sys.exit()
 | 
			
		||||
digits = sys.argv[1]
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    digits = int(digits)
 | 
			
		||||
except:
 | 
			
		||||
    print(usage)
 | 
			
		||||
    sys.exit()
 | 
			
		||||
 | 
			
		||||
nextNumber = 1
 | 
			
		||||
maxNumber = 10**digits
 | 
			
		||||
 | 
			
		||||
while nextNumber<maxNumber:
 | 
			
		||||
    print('collatz length of '+str(nextNumber)+' is: \n'+str(collatz.seqenceLength(nextNumber)))
 | 
			
		||||
    nextNumber += 1
 | 
			
		||||
							
								
								
									
										21
									
								
								collatz/collatzSequence.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								collatz/collatzSequence.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
#! /usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import collatz
 | 
			
		||||
 | 
			
		||||
usage='usage: collatzSequence [number] prints the collatz sequence for the given number'
 | 
			
		||||
 | 
			
		||||
if len(sys.argv)<2:
 | 
			
		||||
    Print(usage)
 | 
			
		||||
    sys.exit()
 | 
			
		||||
number = sys.argv[1]
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    number = int(number)
 | 
			
		||||
except:
 | 
			
		||||
    print(usage)
 | 
			
		||||
    sys.exit()
 | 
			
		||||
 | 
			
		||||
while number != 1:
 | 
			
		||||
    number = collatz.nextInSequence(number)
 | 
			
		||||
    print(number)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue