Vba ile Matematik bulmaca çözümü

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Bir arkadaşımız çocuğu için verilen matematik bulmacasını çözmek için bir VBA kodu yazmaya çalışıyorum.
Ekli dosyada A2, B2, C2 ve D2 hücrelerinde kullanabileceğiniz 4 adet sayı verilmekte, bu sayıları kullanarak A1 Hücresinde yazan hedef değere ulaşmaya çalışıyorum
A2, B2, C2 ve D2 hücrelerinde verilen sayıları yalnızca bir kez kullanarak, hedef sayıya ulaşmak için dört aritmetik işlemi (+), (-), (.), (/) kullanarak hedef sayıya ulaşmaya çalışacağız. Burada verilecek sayıların tamamı tam sayı olmak zorunda.

Aşağıda yazmış olduğum kodun tersini uyulacağız, burada tümevarım yaptım, olması gereken tümden gelim. çünkü her olayda varyasyonlar değişik olacak, bir tane çözüm bulmamız yeterli olacak bize;

Kurallar:
  • Verilen her sayıyı yalnızca bir kez kullanabilirsiniz.
  • Girdi sayıları en fazla 50, hedef sayı en fazla 1000 değerini alabilir.
  • Verilen tüm sayıları kullanmak zorunda değilsiniz.
  • 4 işlemin hepsini kullanmak zorunda değilsiniz.
Örnek: 1,2,3,4 rakamlarını kullanarak 60’ a ulaşmak için;
1+2=3
4*5=20
3*20=60

Yalnız Bu işlemi vba koduyla tersten yapmamız gerekiyor?

yardımlarınız için şimdiden teşekkürler,

Kod:
Sub Puzzle()
Dim h As Integer
Dim a As Integer, b As Integer
Dim c As Integer, d As Integer

Dim a4 As Integer, a5 As Integer
Dim a6 As Integer, a7 As Integer

ActiveSheet.Range("A4:B10").ClearContents

With ActiveSheet
    a = .Range("A2").Value
    b = .Range("B2").Value
    c = .Range("C2").Value
    d = .Range("D2").Value
End With

a4 = d / a
ActiveSheet.Range("A4") = a4

a5 = a4 + c
ActiveSheet.Range("A5") = a5

a6 = a5 * b

ActiveSheet.Range("A6") = a6

End Sub
 

Ekli dosyalar

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Selam;

Örnek: 1,2,3,4 rakamlarını kullanarak 60’ a ulaşmak için;
1+2=3
4*5=20
3*20=60
Burda verdiğiniz örnek hatalı sanırım 5 sayısını göremedim?

Bu bizim bildiğimiz bir kelime bir işlem oyunundaki işlem kısmı değil mi?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
Özür dilerim,
girdi sayıları 1, 2, 4, 5 olacaktı.
teşekkürler,
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Ben bu konu için siz sorduğunuz zaman biraz uğraşmıştım, kısmen olmuştu ama vermemiştim ve ChatGPT den de faydalanmıştım. Bugün aklıma geldi ve işlemleri parantezli yapmakla birlikte bazı düzenlemeler yapayım dedim ama hiç kolay olmadı.
Kodlarda eksik ya da fazlalık olabilir. Geliştirilirse bence gayet güzel bir deneme oldu. Matematikle uğraşanlar için faydalı ve eğlenceli olacaktır diye düşünüyorum. Hedef sayı için tüm işlemleri yapıyor mu emin değilim.

sayiBul.png
 

Ekli dosyalar

Son düzenleme:
Üst