LÜTFENNNN YARDIM C++ bloodshed programlama dilinde

ikcoflu
26-05-2009, 00:07   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
5 mesaj
Kayıt Tarihi:Kayıt: Oca 2009

EKRANDA GİRİLEN 2 SAYININ OBEB VE OKEKİNİ BULAN Bİ PROGRAM
BASİT GİBİ GÖRÜNÜYO AMA BE 1. SINIF OLDUUM İÇİN YAPAMADIM


LÜÜÜÜTTTTTTTFFFFFFFFEEEEEEENNNNNNNNNNN YYYYYYAAAAAAARRRRRRRRDDDDIIIIIIMMMMMMM.........

hsnhsynisler
26-05-2009, 20:09   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
267 mesaj
Kayıt Tarihi:Kayıt: May 2009

#include <stdio.h>

int main()
{
        int sayi1, sayi2, i;

        printf (" 2 adet sayı giriniz: ");
        scanf  ("%d%d", &sayi1, &sayi2);
         
        // iki sayının OKEK değeri en fazla iki sayının çarpımı olabilir.
        // (iki sayı aralarında asalsa bu durum gerçekleşir.) Bu yüzden
        // döngünün (sayi1 * sayi2)'ye kadar dönmesi yeterlidir.

        for (i = 1; i <= sayi1 * sayi2; i ++)
        {
          if (i % sayi1 == 0 && i % sayi2 == 0)
          {
                  // OKEK değeri her iki sayıya da tam olarak bölünür.
                  // Bu durumun görüldüğü andaki i değeri iki sayının
                  // ortak katlarının alabildiği en küçük değerdir.

                  printf (" OKEK : %d\n", i);
                    
                  break;
          }
        }

        // OBEB değeri, en fazla sayılardan büyük olanın değeri kadar
        // olabilir. (diğer sayının değeri bir ise.) Bu nedenle
        // döngünün başlangıç değeri olarak sayılardan büyük olanını
        // almak yeterli olacaktır.

        (sayi1 > sayi2) ? i = sayi1 : i = sayi2;
        //yukarıdakinin acılımı
        // if(sayi1>sayi2)i=sayi1; else i=sayi2;
        // gibi de kullanılabilir
        for (; i > 0; i --)
        {
          if (sayi1 % i == 0 && sayi2 % i == 0)
          {
                  // OBEB değeri her iki sayıya da tam olarak bölünebilir.
                  // Bu durumun görüldüğü andaki i değeri iki sayıyı tam
                  // olarak bölebilecek en büyük tam sayıdır.

                  printf (" OBEB : %d\n", i);
                        
                  break;
          }
        }

        return 0;