def unit_test_detect_gbc_pair_for_level_12_tree(): n = 12 list_at_level = ster_broc_tree(n) half_list = list_at_level[:len(list_at_level)/2 + 1] # print "n = ", n, " half length: ", len(half_list) write_fare_data_list_to_file("ster_tree_12.txt", half_list) smallest_largest_pair_only = True # try to detect GBC pair for even number 8, 12, 14, 16, 18, 20 for m in range(8, 21): if(m%2 == 0): print "detect m:", m detect_gbc_pair_in_fare_sequence(m, half_list, smallest_largest_pair_only)
def detect_gbc_pair_in_data_list_for_selected_nums(n, half_list, smallest_largest_pair_only, end_level): print "=== more gbc pair detections ===========================================" print "=== end_level = ", end_level, " half length: ", len(half_list), "================================" return_str = detect_gbc_pair_in_fare_sequence(2*n + 2, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 4, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 6, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 8, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 10, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 12, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 14, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 16, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 18, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 20, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 22, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 24, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 34, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 44, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 54, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 74, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 94, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 194, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 294, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 1594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 2594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 3594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 4594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 5594, half_list, smallest_largest_pair_only) return_str_list.append(return_str) return_str = detect_gbc_pair_in_fare_sequence(2*n + 6594, half_list, smallest_largest_pair_only) return_str_list.append(return_str)
return_str = "" print "\ndetect_gbc_pair_in_fare_sequence from 2 to %d"%(2*end_level) for n in range(1, end_level): to_be_insert_list = calk_wil_tree_for_one_level(to_be_insert_list, display_option) tree_as_breadth_1st_trav_list_upto_level = tree_as_breadth_1st_trav_list_upto_level + to_be_insert_list # print_fare_fraction_list(tree_as_breadth_1st_trav_list_upto_level) smallest_largest_pair_only = False # at each level n, only detect gbc pair for even number 2*n. return_str = detect_gbc_pair_in_fare_sequence(2*n, tree_as_breadth_1st_trav_list_upto_level, smallest_largest_pair_only) return_str_list.append(return_str) # try detection other gbc pairs from last data list. # This function will append results to global list: return_str_list detect_gbc_pair_in_data_list_for_selected_nums(n, tree_as_breadth_1st_trav_list_upto_level, smallest_largest_pair_only, end_level) print "\n=== output of detections of gbc_pairs =====================\n" # print all results from return_str_list for i in range(len(return_str_list)) : print return_str_list[i] print "\n=== Done printing detected gbc pairs ======================\n" unit_test_num_of_item_at_level() max_diagonal = 10
for n in range(1, end_num): start_1 = time.time() list_at_level, to_be_insert = ster_broc_tree(list_at_level, display_option) end_1 = time.time() # print "step_1: ", (end_1 - start_1) half_list = list_at_level[:len(list_at_level)/2 + 1] print "n = ", n, " half length: ", len(half_list) smallest_largest_pair_only = False # at each level n, only detect gbc pair for even number 2*n. start_2 = time.time() return_str = detect_gbc_pair_in_fare_sequence(2*n, half_list, smallest_largest_pair_only) end_2 = time.time() return_str_list.append(return_str) # try detection other gbc pairs from last data list. # This function will append results to global list: return_str_list more_gbc_pair_detection_for_data_list(n, half_list, smallest_largest_pair_only, end_num) print "\n===========================================================\n" # print all results from return_str_list for i in range(len(return_str_list)) : print return_str_list[i] # get co-prime list # num = 2*(i + 1) # cnt, coprime_list = eul_totie(num)