Güzel Zeka Soruları

Bu yazıda yine bir kaç tane güzel zeka sorusu soracağım. Cevaplarını yorum olarak ekleyebilirsiniz. Her zamanki gibi cevapları söylemeyeceğim. Zamanla tartışıldıkça bulunacaktır doğru cevaplar.

Soru 1: Bir gölün içinde kayıktasınız. Ve suya bir evrak çantası atıyorsunuz. Göl seviyesinde ne gibi bir değişme olur?

Soru 2: İki kişilik bir oyun oynuyorsunuz. Kare bir masa ve elinizde demir 1 liralıklar var. Sırayla bozuk paraları masanın üstünde bir yere koyuyorsunuz. Tek kural hiç bir paraya değmemesi. En son parayı koyabilen kazanıyor.

Nasıl bir taktik izlerdiniz, ilk parayı kimin koymasını isterdiniz?

Soru 3: Bir okuldaki 100 kapalı dolabın önünde birer öğrenci duracak şekilde yerleşirler.
1. düdük çaldığında 1 in katları olan tüm dolap kapakları açılır.
2. düdük çaldığında 2 nin katları olan dolaplar açıksa kapanır kapalıysa açılır,
3. düdük çaldığında 3 ün katları olan dolaplar yine aynı şekilde kapanır veya açılır,
. . .
Bu böylece 100. düdük çalana kadar devam eder. 100. düdük çaldığında sadece 100. dolap kapağı açıksa kapanır kapalıysa açılır.

Soru şu, bu işlemin sonucunda kaç dolap kapağı açık kalır?

Soru 4: 100 altın paradan oluşan bir hazine var ve bir adada bulunan beş korsan bu altınları aralarında bölüşecekler. Ganimet şu kurala göre paylaşılacak: En yaşlı korsan, nasıl bölüşebilecekleriyle ilgili bir teklifte bulunacak ve bu teklif oylanacak. Eğer korsanların en az yarısı kabul ederse, altınlar o şekilde bölüşülecek. Aksi taktirde, en yaşlı korsanı öldürüp aynı şekilde devam edecekler. Geriye kalanların en yaşlısı kendi teklifini sunacak ve oylama sonucunda aynı kurala göre ya en yaşlı korsan öldürülecek yada altınlar paylaşılacak. Bir teklif üzerinde anlaşılana kadar bu böyle devam edecek.

En yaşlı korsan siz olsaydınız nasıl bir bölüşme önerirdiniz?

(Korsanların hepsi olabildiğince mantıklı ve açgözlü davranıyorlar, ayrıca hiç biri ölmek istemiyor)


Sorular biraz zorlaşıyor haliyle. Ama yine de eğlenceli güzel sorular ve oyunlar eklemeye devam edeceğim.

9 yorum “Güzel Zeka Soruları”

  1. Soru 3:

    int[] dolapacikkapali = new int[100], dolapno = new int[100];
    int acikdolapsayisi = 0;
    for (int i = 0; i <= 99; i++) dolapno[i] = i + 1; //Dolap numaraları ataması
    for (int duduk = 1; duduk <= 100; duduk++)
    {
    for (int eleman = 0; eleman <= 99; eleman++)
    {
    if (dolapno[eleman] % duduk == 0)
    {
    if (dolapacikkapali[eleman] == 0) dolapacikkapali[eleman] = 1;
    else dolapacikkapali[eleman] = 0;
    }
    }
    }
    for (int sayma = 0; sayma <= 99; sayma++)
    {
    if (dolapacikkapali[sayma] == 1) acikdolapsayisi++;
    }
    Console.Write(acikdolapsayisi + " adet dolap açık kalmıştır.");
    Console.ReadKey();

    C#

    Doğruysa 10 veriyor.

    1. Bunun daha kısa bir çözümü olmaz mı ? Mesela ;
      100 sayısını 1 den 100 ‘e kadar olan sayılara böleriz. ve sayının tam kısmı kadar kapak açılır ve bir o kadar kapak kapanır.
      ilk düdükte tüm kapılar açılır.
      2. düdükte tüm çift sayılara sahip kapaklar kapanır, tek sayılar açık kalır.
      3. düdükte 33 kapak açılır ve kapanır bunlardan çift sayı olanlar açılacak tek sayılı olanlar kapanacaktır.
      Bu şekilde 100 sayısına kadar olan sayılara kadar gidilir.
      50. düdükte 50. ve 100. kapak işlem görecektir.
      50 den büyük sayıya kadar olan düdüklerde sadece 1 kapak açılacak veya kapanacaktır.

      Aslında 1 den 50 ‘ye kadar olan sayıların asal çarpanlarını bularak da bir şekilde sonuca ulaşılabilir.
      50 den sonra dizideki elemanlar sadece açıksa kapalı; kapalı ise açık şeklinde işaretlenebilir.

  2. Korsan-100 altın: Yaş sırasına göre en yaşlıdan başlamak üzere; en yaşlıya 18, sonrakine 19, sonrakilere 20, 21, 22’şer altın önerilirse hem yaşlıları hemde gençleri memnun edecek makul bir teklif olur.

  3. Dolap Kapakları Sorusunda Sadece Tamkare Numaralı Dolaplar Açık Kalıyor.

    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “Turkish”);
    bool dolaplar[100];
    for(int i=0;i<100;i++)dolaplar[i]=false;
    for(int i=1;i<=100;i++)
    {
    for(int j=i;j<=100;j++)
    {
    if(j%i == 0)
    {
    dolaplar[j-1] = !dolaplar[j-1];
    }
    }
    }
    for(int i=0;i<100;i++)
    {
    if(dolaplar[i])
    cout<<i+1<<" Sayılı Dolap Açık."<<endl;
    else if(!dolaplar[i])
    cout<<i+1<<" Sayılı Dolap Kapalı."<<endl;
    }
    }

    1. Buda C#

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;

      namespace AcikVeKapaliDolaplar
      {
      class Program
      {
      static void Main(string[] args)
      {
      bool []dolaplar = new bool[100];
      for (int i = 0; i < 100; i++) { dolaplar[i] = false; }

      for (int duduk = 1; duduk <= 100; duduk++)
      {
      for (int i = duduk; i <= 100; i++)
      {
      if (i % duduk == 0)
      {
      if (dolaplar[i - 1] == true)
      {
      dolaplar[i - 1] = false;
      }
      else
      {
      dolaplar[i - 1] = true;
      }
      }
      }
      }
      for (int i = 1; i <= 100; i++)
      {
      Console.Write(i);
      if (dolaplar[i-1] == true)
      Console.WriteLine(" Sayılı Dolap Açık");
      else
      Console.WriteLine(" Sayılı Dolap Kapalı");
      }
      Console.WriteLine("\n\nBitti");
      Console.ReadKey(true);
      }
      }
      }

Bir cevap yazın