Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Form Oluşturma > TclForm Oluşturma
  Aktif Konular Aktif Konular RSS - Asal sayı bulma
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

Asal sayı bulma

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Alper Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 9 Saat 56 Dakika Önce
Durum: Aktif Değil
Puanlar: 2
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Alper Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Asal sayı bulma
    Gönderim Zamanı: 9 Saat 45 Dakika Önce Saat 14:13
1'den 100'e kadar olan asal sayıları bulmak için yazdığım kodda 2,3,5 ve 7'yi asal değil olarak kabul ediyor.Bu sorunu nasıl düzeltebilirim?

var
sayi1 : Integer
{
  sayi1 = 3
  if((((sayi1 div 2==0)||(sayi1 div 3==0)||(sayi1 div 5==0)||(sayi1 div 7==0))))
  ShowMessage('Asal Değil')
  else if (sayi1 ==1)
  ShowMessage('Asal Değil')
  else if ((((sayi1 div 7==1)||(sayi1 div 5==1)||(sayi1 div 3==1)||(sayi1 div 2==1))))
 ShowMessage('Asal')
  else
  ShowMessage('Asal')
 }
 
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Alper
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 422
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 6 Saat 17 Dakika Önce Saat 17:41
Merhaba Alper, 
Senin yazdığın kod için div yerine modu kullanmalıyız. Div operatörü bölme işleminin sonucunu verir. Asal sayı kontrolü için kalanı bulmak gerekir bunun için mod operatörünü kullanalım. 
Ayrıca yazılan if bloğun da ( sayi1 div 3==0) ifadesinde sayı 3 ise, 3'e bölümünden kalan 0'dır. 
Kod çıktısında da asal değil olarak işaretler ama asal sayılar kendilerine bölünebilirler. 
seni sorun için 1'den 100'e kadar bu şekil de 
//////////////////
var
  i, j, AsalMi : Integer;
  TumAsallar : String;
{
  TumAsallar = '';

  // 1'den 100'e kadar olan sayıları tek tek gez
  for (i = 1 to 100)
  {
    AsalMi = 1; // Başlangıçta sayıyı asal varsayalım 

    // 1 ve 1'den küçük sayılar asal değildir
    if (i <= 1)
    {
      AsalMi = 0;
    }
    else
    {
      // 2'den başlayıp sayının kendisine kadar (kendisi hariç) bölen var mı bak
      for (j = 2 to i - 1)
      {
        if (i Mod j == 0)
        {
          AsalMi = 0; // Tam bölen bulundu, demek ki asal değil
          Break; // Döngüden çık, daha fazla aramaya gerek yok
        }
      }
    }

    // Eğer AsalMi hala 1 ise, sayı asaldır listeye ekle
    if (AsalMi == 1)
    {
      TumAsallar = TumAsallar + IntToStr(i) + ' ';
    }
  }

  ShowMessage('1-100 Arası Asal Sayılar: ' + TumAsallar);
}
////////////////////////////////////////////////

var 

i , sayi : Integer;

AsalMi : Boolean;


{

  sayi = 26;

  AsalMi = True;

  

  

  for ( i = 2 to (sayi div 2))

  {

    if (sayi mod i ==0)

    AsalMi=False

  }

  if AsalMi 

  ShowMessage(IntToStr(sayi)+ ' asal sayıdır');

  else 

  ShowMessage(IntToStr(sayi)+ ' asal sayı değildir' );


Div operatörünü kullanarak yapmak istersek eğer,
div'i mod alma yani kalan için değil döngünün döneceğini hesaplamak için kullanıldı.
matematiksel olarak bir sayının yarısından daha büyük bir tam böleni olamaz, kendisi hariç. 
mesela sayı ise 26 div 2= 13 eder
yine mod operatörünü asalı kontrol de kullanıyoruz. 




https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,016 Saniyede Yüklendi.