|
Asal Sayılar
|
|
04-14-2010, 11:43 AM
Mesaj: #1
|
|||
|
|||
|
Asal Sayılar
asalsayi.sh
a=5 b=3 c=`echo "$a / $b"|bc -l` echo $c Çıktı: ./asalsayi.sh 1.66666666666666666666 Bölünme kuralları 2,3,5,7 sayılarının her biri ile bölündüğünde 1.4 gibi ondalıklı sayı veriyorsa asal sayıdır. Algoritma Kontrol et 2 ile bolunuyormu direkt noktasiz bir sonuc cikarsa donguden cik eger noktali cikarsa 3'e bolunmeyi devam ederek if dongulerini for loop'u icinde 7'de dahil olmak üzere test et.En sonuncu 7 islemindede ondali bir sonuc cikarsa asal sayidir. Aşağıda tam olarak çalışan kod yer almaktadır. asalsayilar.sh #!/bin/bash #Bu program 100'e kadar olan asal sayilari ekrana bastirir. echo echo "Bu program verdiginiz degere kadar olan asal sayilari hesaplar." echo echo "10 sayisindan buyuk olmak uzere lutfen hesaplanmasini istediginiz sayiya kadar deger giriniz (örnek:1000 girerseniz 1000'e kadar olan asal sayilar hesaplanacaktir." echo echo "Lutfen Sayiyi Giriniz:" echo read line echo "Girdiginiz sayi $line 'dir. $line 'e kadar olan asal sayilar:" echo "2 Bir asal sayidir." echo "3 Bir asal sayidir." echo "5 Bir asal sayidir." echo "7 Bir asal sayidir." for (( i=1 ; i <= $line; i++)) do kontrol1=`echo "$i / 2"|bc -l` kontrol2=`echo "$i / 3"|bc -l` kontrol3=`echo "$i / 5"|bc -l` kontrol4=`echo "$i / 7"|bc -l` kontrol_sonuc1=`echo $kontrol1 |grep .00000000000000000000|grep -v grep|wc -l` kontrol_sonuc2=`echo $kontrol2 |grep .00000000000000000000|grep -v grep|wc -l` kontrol_sonuc3=`echo $kontrol3 |grep .00000000000000000000|grep -v grep|wc -l` kontrol_sonuc4=`echo $kontrol4 |grep .00000000000000000000|grep -v grep|wc -l` if test $kontrol_sonuc1 -eq 1 then echo > /dev/null elif [ $kontrol_sonuc2 -eq 1 ] then echo > /dev/null elif [ $kontrol_sonuc3 -eq 1 ] then echo > /dev/null elif [ $kontrol_sonuc4 -eq 1 ] then echo > /dev/null else echo "$i Bir asal sayidir." fi done Özdemir Şarman aka (Charmant-zavanetratan) |
|||
'Asal Sayılar' Konusunu Paylaş |

Arama
Üye Listesi
Takvim
Yardım














