And now I'm done with the first half of day 3, though the second half will take a bit more time.
This commit is contained in:
		
							
								
								
									
										1000
									
								
								2021/3/data
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1000
									
								
								2021/3/data
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										48
									
								
								2021/3/main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								2021/3/main.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
bits = []
 | 
			
		||||
 | 
			
		||||
gamma = 0
 | 
			
		||||
epsilon = 0
 | 
			
		||||
 | 
			
		||||
gamma_str = ''
 | 
			
		||||
epsilon_str = ''
 | 
			
		||||
 | 
			
		||||
with open('data', 'r') as fp:
 | 
			
		||||
 | 
			
		||||
    # NOTE(dev): We assume all lines are the same length
 | 
			
		||||
    for i in range(0, len(fp.readline().strip())):
 | 
			
		||||
        bits.append(0)
 | 
			
		||||
 | 
			
		||||
    # # DEBUG(dev):
 | 
			
		||||
    # test = fp.readline()
 | 
			
		||||
    # for i in range(0, len(test)):
 | 
			
		||||
    #     print test[i]
 | 
			
		||||
 | 
			
		||||
    for line in fp:
 | 
			
		||||
        for i in range(0, len(line.strip())):
 | 
			
		||||
            if(line[i] == '1'):
 | 
			
		||||
                bits[i] = bits[i] + 1
 | 
			
		||||
            else:
 | 
			
		||||
                bits[i] = bits[i] - 1
 | 
			
		||||
 | 
			
		||||
for i in range(0, len(bits)):
 | 
			
		||||
    ch = '1'
 | 
			
		||||
    if(bits[i] < 0):
 | 
			
		||||
        ch = '0'
 | 
			
		||||
    gamma_str = gamma_str + ch
 | 
			
		||||
 | 
			
		||||
# # DEBUG(dev):
 | 
			
		||||
# for i in range(1, len(gamma_str)+1):
 | 
			
		||||
#     print gamma_str[-i]
 | 
			
		||||
 | 
			
		||||
# NOTE(dev): Have to do (i+1) because we're going backwards, which starts at -1
 | 
			
		||||
for i in range(0, len(gamma_str)):
 | 
			
		||||
    if(gamma_str[-(i+1)] == '1'):
 | 
			
		||||
    	gamma = gamma + pow(2,i)
 | 
			
		||||
    else:
 | 
			
		||||
    	epsilon = epsilon + pow(2,i)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# print "   bits: ", bits
 | 
			
		||||
print "  gamma: ", gamma
 | 
			
		||||
print "epsilon: ", epsilon
 | 
			
		||||
print "  POWER: ", gamma * epsilon
 | 
			
		||||
		Reference in New Issue
	
	Block a user