İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü NESNEYE DAYALI PROGRAMLAMA LAB ÖDEVİ 1 SAYI BASAMAK DEĞERİ HESAPLAMA1 n basamaklı, bj = 0, 1, ..., 9 olmak üzere, bn ... b3 b2 b1 şeklinde pozitif bir tamsayı düşünelim. Böyle bir sayının birler basamağındaki rakam (b1), sayının 10 ile bölümünden kalandır. Örneğin: 1453 sayının 10 ile bölümünden kalan 3 tür. Eğer sayı 10'a bölünüp sonucun tam kısmını hesaplarsak birler basamağı devre dışı kalır ve sayının basamak sayısı bir azalır. Bu iki işlem her basamak için tekrar edilirse, sayının kaç basamaktan oluştuğu ve her basamaktaki rakam elde edilmiş olur. Toparlarsak, n basamaklı bir sayının her bir basamağı ve kaç basamaklı oluğu aşağıdaki gibi tespit edilebilir: Sayi: 1453 1. MOD(1453,10) = 3 ve 1453/10 = 145 2. MOD(145,10) = 5 ve 145/10 = 14 3. MOD(14,10) = 4 ve 14/10 = 1 4. MOD(1,10) = 1 ve 1/10 = 0 (son) Son olarak 3, 5, 4 ve 1 rakamları 3*1000 + 5*100 + 4*10 + 1 = 3541 şeklinde yazılırsa, orjinal sayımızın tersi elde edilmiş olur. ÇIKTI Görüntüsü Pozitif bir tam sayı girin: 1453 Her basamaktaki rakam: 1 ler basamağı 3 10 ler basamağı 5 100 ler basamağı 4 1000 ler basamağı 1 Basamak Sayısı : 4 Sayının Tersi : 3541 1 http://www1.gantep.edu.tr/~bingul/f95/?ders=27 PALİNDROME SAYI Her simetrik sayı palindromik sayı olarak aklandırılır. Örneğin 22, 101, 9339, 812218 sayıları palindromiktir. Girilen N basamaklı sayının palindrome olup olmadığını bulan sınıfı hazırlayınız. ASAL ÇARPANLAR Bir tamsayının asal çarpanları o sayıyı tam bölen sayılardır. Örneğin 148 sayısının (1 ve kendisi dahil) tam bölenleri 1, 2, 4, 23, 46 ve 92 dir.Girilen sayının asal çarpanlarını bulanJAVA sınıfı hazırlayınız MÜKEMMEL SAYILAR Kendisi hariç, tam bölenlerin toplamı kendine eşit olan sayıya mükemmel sayı denir. Bu tanıma göre aşağıdaki sayılar mükemmel sayıdır: 6=1+2+3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 1 ile 10,000 arasındaki bütün mükemmel sayıları bulup ekrana yazan programı hazırlayınız Girilen sayının Mükemmel olup olmadığını veren JAVA sınıfı hazırlanacaktır. Asal Sayılar 1 Sadece iki tam bölene sahip tamsayılar asal sayı olarak adlandırılır. İlk bir kaç asal sayı şöyledir: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, ... Asal sayıların bulunuşu için birçok algoritma mevcuttur. En yalını, sayıyı 1 den sayının değerine kadar bölmek ve kalanları hesaplamaktadır. Sayı, sadece iki tam bölene (1 ve sayının kendisi) sahipse, sayı aşikar asaldır. N = 100,000'den küçük asal sayıları bulan programı hazırlayınız ASAL SAYILAR 2 Eratosthenes'in Kevgiri ile N den küçük sayılar içinde asal sayıları belirleme http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes Algoritma şöyledir: 1. 2. 3. 4. 5. 6. 2'den N'ye kadar sayıların listesini oluşturun. Listeden 2'nin katlarını (4, 6, 8, ...) çıkarıp yeni bir liste oluşturun. Yeni listedeki bir sonraki sayı asaldır. Listeden, bir önceki adımda bulunan sayının katlarını çıkarın. 3 ünçü ve 4 üncü adımları N sayısının kareköküne ulaşıncaya kadar tekrarlayın. Listede geriye kalan sayılar asaldır. Örneğin: N = 25 olsun. Liste: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2'nin katlarını ele. 2 3 5 7 9 11 13 15 17 19 21 23 25 3'ün katlarını ele 2 3 5 7 11 13 17 19 23 25 5'in katlarını ele 2 3 5 7 11 13 17 19 23 sqrt(25) = 5'e ulaşıldı. Son listedeki sayılar asaldır. Java kodunu hazırlayınız.