|  | @@ -0,0 +1,48 @@
 | 
	
		
			
				|  |  | +"""Calculate resources koef"""
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def nth_root(num, root):
 | 
	
		
			
				|  |  | +    """Calculte nth root"""
 | 
	
		
			
				|  |  | +    answer = num ** (1/root)
 | 
	
		
			
				|  |  | +    return answer
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def calc_resource_factor(resource_limit, koef_factor):
 | 
	
		
			
				|  |  | +    """Calculate resource factor based on limit"""
 | 
	
		
			
				|  |  | +    return pow(resource_limit * koef_factor / 10, 0.8)
 | 
	
		
			
				|  |  | +    # a = (resource_limit * koef_factor / 10)**0.8
 | 
	
		
			
				|  |  | +    # a = (m * n / c) ** d
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def calc_required_limit(koef, koef_factor):
 | 
	
		
			
				|  |  | +    """Calculate amount of deep exploration points"""
 | 
	
		
			
				|  |  | +    # m = (c * nth_root(a, d)) / n
 | 
	
		
			
				|  |  | +    return (10 * nth_root(koef, 0.8)) / koef_factor
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def calc_deep_exploration(resource_limit, percentage, koef_factor, max_limit):
 | 
	
		
			
				|  |  | +    """Calculate deep expo for resource"""
 | 
	
		
			
				|  |  | +    initial_koef = calc_resource_factor(resource_limit, koef_factor)
 | 
	
		
			
				|  |  | +    new_koef = initial_koef * (percentage / 100 + 1)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    required_limit = calc_required_limit(new_koef, koef_factor)
 | 
	
		
			
				|  |  | +    print(required_limit)
 | 
	
		
			
				|  |  | +    if required_limit > max_limit:
 | 
	
		
			
				|  |  | +        required_limit = max_limit
 | 
	
		
			
				|  |  | +    print("{:5.2f} {:4.2f} {:4.2f} {:4.0f}".format(
 | 
	
		
			
				|  |  | +        percentage,
 | 
	
		
			
				|  |  | +        initial_koef,
 | 
	
		
			
				|  |  | +        new_koef,
 | 
	
		
			
				|  |  | +        required_limit - resource_limit
 | 
	
		
			
				|  |  | +    ))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if __name__ == "__main__":
 | 
	
		
			
				|  |  | +    print("%      old   new deep")
 | 
	
		
			
				|  |  | +    print('Noord-Nederland')
 | 
	
		
			
				|  |  | +    calc_deep_exploration(379, 0, 0.4, 637)
 | 
	
		
			
				|  |  | +    print('Oost-Nederland')
 | 
	
		
			
				|  |  | +    calc_deep_exploration(359, 80, 0.4, 637)
 | 
	
		
			
				|  |  | +    print('West-Nederland')
 | 
	
		
			
				|  |  | +    calc_deep_exploration(372, 25, 0.4, 637)
 | 
	
		
			
				|  |  | +    print('Zuid-Nederland')
 | 
	
		
			
				|  |  | +    calc_deep_exploration(366, 25, 0.4, 637)
 | 
	
		
			
				|  |  | +    print('Amsterdam')
 | 
	
		
			
				|  |  | +    calc_deep_exploration(418, 45, 0.4, 637)
 | 
	
		
			
				|  |  | +    calc_deep_exploration(439, 35, 0.4, 637)
 |