Goldbach şöyle varsayımda bulunmuş Asal olmayan her teksayı şu formatta yazılabilir.
Asal +2*(Asal veya1 )^2
Örneğin:9 = 7 + 2×1^2
15 = 7 + 2×2^2
Ama daha sonraları bu varsayımın yanlış olduğu ispatlanmış . Bu varsayımı bozan ilk sayı kaçtır?
Varsayımın orijinali Asal+2*(sayı)^2 idi ama ben sayının çok büyük bişey olcağını düşündüğüm için değiştirdim eğer bulabirsek bunu da bulalım
Arkadaş bir format gösteriyor, asal olmayan bütün tek sayıların bu formata uyduğu varsayılmış ve bu varsayımı destekleyen 2 tane örnek paylaşılmış. Daha sonra arkadaş demiş ki ama bu varsayımı bozan sayılar var. Varsayımı bozan sayı, formattaki işlemleri uyguladığımızda sonucu asal olan bir sayı değil midir, aksi taktirde asal olmayan bir tek sayı zaten varsayımı desteklemiş olmaz mı? Dolayısıyla bizim bu işlem sonucunda bir asal sayı bulup varsayımın bu sayı için geçerli olmadığını kanıtlamamız gerekmiyor mu?
İfade şu şekilde:
Goldbach şöyle varsayımda bulunmuş Asal olmayan her teksayı şu formatta yazılabilir.
Galiba buldum. Bu kuralı bozan asal olmayan ilk sayı 5777 sayısı, ikinci asal olmayan sayı 5993 sayısı.
Çok fazla ileri gidemedim. Çünkü baya zaman alıyor. Ama aşağıdaki sayılar kurala uymuyor:
17
137
227
977
1187
1493
5777
5993
#include <stdio.h>
int is_prime(int n){
for (int i = 2; i < n; i++){
if (n % i == 0){
return 0;
}
}
return n;
}
int find_prime(int n){
int i = 1;
int count = 0;
while (count != n){
if (is_prime(i) != 0){
count += 1;
if (count == n){
return i;
}
}
i += 1;
}
}
int *all_primes(){
static int array[3000];
for (int i = 1; i < 3000; i++){
array[i] = find_prime(i);
}
return array;
}
int main(){
int *p;
int count = 3;
p = all_primes();
int x;
for (int i = 1; i < 3000; i++){
for (int j = 1; j < 3000; j++){
for (int k = 1; k < 3000; k++){
if (count == p[j] + 2 * (k * k)){
x = 1;
break;
}
}
if (x == 1){
break;
}
}
if (x != 1){
printf("%d\n", count);
}
x = 0;
count += 2;
}
return 0;
}
Edit: Bu sonucu bulduktan sonra google’da goldbach 5777 diye bir arama yaptım aşağıdaki sayfayı buldum. Bu sayfadan bir alıntı paylaşmak istiyorum:
There also exist odd composite Stern numbers: the only known ones are 5777 and 5993. Goldbach once incorrectly conjectured that all Stern numbers are prime.
bir çözümde bende gelsin sizin yaptığınız asallarıda kapsıyor bu arada asal olmayan tek demiştik ama ufak bir if ile hallolur
import sympy
n=1
liste=[]
istenen=False
while n <5801and istenen==False :
a=1
while a<n:
if sympy.isprime(a)==True:
b=1
while b<n**(0.5):
if n==a+(2*(b**2)):
liste.append(n)
if sympy.isprime(n-2)==False and n-2 not in liste :
print(n-2)
istenen==True
b=b+1
a=a+1
n=n+2
print(set(liste))
birde ilk kısımda ben farklılaştırmıştım ikinciside asal veya 1 di onun cevabınıda paylaşıyorum
#burada b de asal alınmıştır ama orjinalinde yok
import sympy
n=1
liste=[1]
istenen=False
while n <1000 and istenen==False :
a=1
while a<n:
if sympy.isprime(a)==True:
b=1
while b<n**(0.5):
if sympy.isprime(b) == True or b == 1:
if n==a+(2*(b**2)):
liste.append(n)
if sympy.isprime(n-2)==False and n-2 not in liste:
istenen=True
print(n-2)
b=b+1
a=a+1
n=n+2