N
NeStLe
Ziyaretçi
Ziyaretçi
Açıklama : 1 dahil, kendisi hariç olmak üzere bölenlerinin toplamına eşit olan sayılara mükemmel sayı adı verilir.
Örneğin 6=1+2+3 olduğundan bir mükemmel sayıdır.
Bir sonraki mükemmel sayı 28’dir. Çünkü 28=1+2+4+7+14 olur.
Geliştirdiğimiz uygulama, kullanıcı tarafından girilecek bir sayının mükemmel olup olmadığını test etmekte, değil ise bir sonraki mükemmel sayıyı hesaplamaktadır.
Public Class Form1
Dim sayi, sayi1, toplam, k As Long
Private Sub BtnKontrol_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKontrol.Click
sayi = TxtSayi.Text
toplam = 0
For k = 2 To sayi / 2
If sayi Mod k = 0 Then toplam = toplam + k
Next
If toplam + 1 = sayi Then
MsgBox("MÜKEMMEL!")
Else ‘Sayı mükemmel değil ise bir sonrakini ara.
sayi1 = sayi
Do
toplam = 0
sayi1 = sayi1 + 1
For k = 2 To sayi1 / 2
If sayi1 Mod k = 0 Then toplam = toplam + k
Next
Loop Until toplam + 1 = sayi1
MsgBox(sayi1)
End If
End Sub
End Class
Örneğin 6=1+2+3 olduğundan bir mükemmel sayıdır.
Bir sonraki mükemmel sayı 28’dir. Çünkü 28=1+2+4+7+14 olur.
Geliştirdiğimiz uygulama, kullanıcı tarafından girilecek bir sayının mükemmel olup olmadığını test etmekte, değil ise bir sonraki mükemmel sayıyı hesaplamaktadır.
Public Class Form1
Dim sayi, sayi1, toplam, k As Long
Private Sub BtnKontrol_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKontrol.Click
sayi = TxtSayi.Text
toplam = 0
For k = 2 To sayi / 2
If sayi Mod k = 0 Then toplam = toplam + k
Next
If toplam + 1 = sayi Then
MsgBox("MÜKEMMEL!")
Else ‘Sayı mükemmel değil ise bir sonrakini ara.
sayi1 = sayi
Do
toplam = 0
sayi1 = sayi1 + 1
For k = 2 To sayi1 / 2
If sayi1 Mod k = 0 Then toplam = toplam + k
Next
Loop Until toplam + 1 = sayi1
MsgBox(sayi1)
End If
End Sub
End Class
Hata gördüğünüz takdirde bildirirseniz sevinirim. Dönüp kodlara bakıp düzenlerim...