Bir Sayının Tek Mi Çift Mi Oldugunu Gösteren Program
-
sLeymN bunu yazdı:
-----------------------------
peki bir şey soracam :F mod2 ye bakmadan nasıl buldururz tek çift oldugnu :D tamam teklik çiftlik ikiye bölümden kalan demek ama varmı başka yolu fantazi yapalım :F
-----------------------------http://www.tahribat.com/forumdisplayfolder.asp?folderid=97207&sayfa=4#1049865
Çalışma mantığını da anlattım.
Düzeltme: Pardon sen ikiye bölünebilmeyi söylemişsin. Onun çözümü ise verilen sayının son hanesi 0, 2, 4, 6, 8 ise çifttir değilse tektir şeklinde düşünülebilir.
-
cukurova bunu yazdı:
-----------------------------Selam,
Asal sayıları bulma benim okul yıllarımda, algoritma giriş dersinin klasik sorularındandır.
Bildiğim (bıraktığım) kadarıyla asal sayılar hala bir muamma ve bu sayade aslında simetrik ve eliptik kriptolojinin can damarı.Kısaca eğer istediğimiz gibi asal sayıları bulsak veya bir formule dayandırsak simetrik kriptolojideki algoritmaların çoğu biter, publik-key, private-key diye birşey kalmaz.
Hala; bir sayının (n) asal olup olmadığını bulmanın kesin yolu kendisine kadar (2,3,4....n kadar) olan sayılara bölünebilirliğini mod gibi bir yapıyla kontrol etmekten geçiyor. Günümüzdeki işlemcilerin işlem/sn. oranını göz önüne alınca 20 haneli bir asal sayıyı bulmak yaklaşık 2-3 saniye sürer sanırım.
Belirli sayılara bölme işlemi hiçbir zaman kesin sonuç vermez, çünkü 11 haneli bir asal sayıyla, 15 haneli bir asal sayının çarpımı hiçbir zaman asal değildir ama çarpanları asaldır ve ezberimizdeki asal sayılarda değildir. Yani 2,3,5,7,11.. böldürelim bölünmüyorsa asaldır demek olmaz.
Herkes bir kodlar vermiş, bende farklılık olsun diye vb kodlarını veriyim,
Public Function asalmi(sayi As Long) As StringDim bolen As Long
For bolen = 2 To sayi - 1
If sayi Mod bolen = 0 Then
asalmi = "ASAL DEĞİL " & vbCr & bolen & " ile bölünüyor"
Exit Function
End If
Next bolen
asalmi = "ASAL sayı"End Function
bu kodu bir butonda mesala;
Label1.Caption = asalmi(text1.Text)
gibi bir butona bağlarsanız çalışır.
Kriptoloji ile asal sayılar ilişkisini googledan felan arayarak bulabilirsiniz ayrı bir konu.
-----------------------------
üstadım nerelerdesin özlettin kendini. çok sevindim seni gördüğme :D -
Buda Delphide Tek Çift Bulan Program
var
sayi:integer;
begin
sayi:=strtoint(edit1.Text);if (sayi mod 2=0) then
label2.Caption:='Sayı Çift'
else
label2.Caption:='Sayı Tek';
end; -
ontedi bunu yazdı:
-----------------------------kuytul bunu yazdı:
-----------------------------
asal sayı olup olmadıüını bulan bir program olsa şahane olur. tek çift olayları nasıl olsa yapılır sanırım.
-----------------------------http://www.teorik.net/asal.asp
İşin mantığı şu:
Sayımız 100 diyelim, 100'ün karekökünü alalım "10". Programımız 2'den 10'a kadar ilerleyip 100'ü o sayılara bölüyor. Eğer orada bölene rastlanırsa sayı asal değildir.
Al sana asal sayı çözücü. Belirli sınırı var, olmasının nedeni ise işlemciyi yormamaktır. (Asal sayıların belirli bir dizilimi olmadığı için başka türlü aritmetiksel artırım olmaz)
-----------------------------hoca 17 de falan napıyorsun ? mesela karekökünü alırsak ;
4.12310562562
çıkar burda da naparsak yapalım 4 olur .. 4 bir asal sayı değildir... ??
edit:
100 den sonra karekök almaya başlıyorsun galba
-
zumsuk bunu yazdı:
-----------------------------ontedi bunu yazdı:
-----------------------------kuytul bunu yazdı:
-----------------------------
asal sayı olup olmadıüını bulan bir program olsa şahane olur. tek çift olayları nasıl olsa yapılır sanırım.
-----------------------------http://www.teorik.net/asal.asp
İşin mantığı şu:
Sayımız 100 diyelim, 100'ün karekökünü alalım "10". Programımız 2'den 10'a kadar ilerleyip 100'ü o sayılara bölüyor. Eğer orada bölene rastlanırsa sayı asal değildir.
Al sana asal sayı çözücü. Belirli sınırı var, olmasının nedeni ise işlemciyi yormamaktır. (Asal sayıların belirli bir dizilimi olmadığı için başka türlü aritmetiksel artırım olmaz)
-----------------------------hoca 17 de falan napıyorsun ? mesela karekökünü alırsak ;
4.12310562562
çıkar burda da naparsak yapalım 4 olur .. 4 bir asal sayı değildir... ??
-----------------------------Hoca, tam sayı değerini almıyorum. Onu öylece bırakıyorum ve kareköke kadar ilerliyorum.
Düzeltme: 2'den 100000'e kadar olan her sayının asal olup olmadığına bakabilir. Daha fazlasını da yaptırırdım fakat işlemci çok zorlanır diye yapmadım.
-
fivestar bunu yazdı:
-----------------------------
çok teşekkürler arkadaşlar :) javada yazabilen varmı ? peki
-----------------------------Java script buda :)
<html>
<script>
var giren=prompt ("Sayı" ,"2");
if (giren % 2 == 0){
document.write ("Çift");
}
else{
document.write ("Tek");
}
</script>
</html> -
kuytul bunu yazdı:
-----------------------------
-----------------------------
üstadım nerelerdesin özlettin kendini. çok sevindim seni gördüğme :D
-----------------------------İş, güç, koşuşturma ...
Evet uzun zaman oldu, bizlerde fosil olduk, yaş ortada tabii.
Arada işten vakit olursa girip bakıyorum öylesine. -
$a=($sayi%2)?"TEK":"ÇİFT";
:P
$sayi=herneyse artık ...
for($i=1;$i<$sayi;$i++){
$kalan=($sayi%$i)?$i." ye bölünmüyor ":$i." ye bölnüyr asal değil!";
} -
C de yazdım umarım işine yarar döngu Seklinde yazdım
#include <stdio.h>
int main()
{
int number,counter=0,devam;
printf("\nDongunun Kac Kere Devam Etsin\n");
scanf("%d",&devam);
while (counter<devam)
{
printf("\n\nNumara Girin Tek veye Cift Kontrolu\n\n");
scanf("%d",&number);
if(number%2==0)
printf("%d Cift Sayidir",number);
else
printf("%d Tek Sayidir",number);
}
return 0;
}
-
istenilen sayıya kadar asal sayı bulma; c#
private void button1_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(textBox1.Text);
double b;
int c = 0;
for (int i = a; i > 2; i--)
{
for (int j = 2; j <= i; j++)
{
b = i % j;
if (b== 0)
{
c++;
}
}
if (c == 1)
listBox1.Items.Add(Convert.ToString(i));
c = 0;
}
listBox1.Items.Add("2");
}
