حدس گلدباخ بیان میکنه که:
«هر عدد صحیح بزرگتر از ۲ را میتوان به صورت مجموع دو عدد اول نوشت.»(عدد تکراری هم میتونه باشه)
اگه آشنایی ندارین سعی کنین خودتون حل کنین مهم نیست چقدر طول میکشه باعث تقویت ماهیچه های مغز میشه(:
لطف کنین اشتباهاتی که در کد وجود داره رو بگین(مثلا چطور کد سریع تر کار کنه و ... )
اگه با class و itertools نوشتین ممنون میشم بفرستین
میشه با matplotlip نمودار توزیع هم رسم کرد که تو صفحه ویکی پدیا هم عکسش هست.
لینک دانلود از پیکوفایل
def is_prime(number): if number == 2 or number == 3 return True else: for i in range(2,int(number/2+1)): if number % i == 0: return False return True def get_prime(min, max): nlist = [] for number in range(min, max+1): if is_prime(number): nlist.append(number) return nlist def goldbach(number): ij_dict= {} if number > 3 and number %2 == 0: x = get_prime(2, number+1) index = -1 for i in x: index += 1 for j in x[index:]: if i + j == number: ij_dict[i] = j return ij_dict, len(ij_dict)