100 ile 999 sayılar arasındaki sayıların basamak değerlerinin küpünün toplamı kendisine eşit olan sayıları listbox’a ekle C#.Net

100 ile 999 sayılar arasındaki sayıların basamak değerlerinin küpünün toplamı kendisine eşit olan sayıları listbox’a ekle C#.Net

      

Soru : 100 ile 999 sayılar arasındaki sayıların basamak değerlerinin küpünün toplamı kendisine eşit olan sayıları listbox’ta görüntüleyen programın kodlarını yazınız. (Form görüntüsü yukarıdadır.)  

Cevap: Soruda girilen sayıların  rakamlarını  küp köklerini alıp toplayınca çıkan değer eğer sayıya eşitse listbox’a eklesin diyor.Mesela 126 için  (1)3 + (2)3 +(6) eşittir 126 ise listBox’a ekleyecek .Ama (1)3 + (2)3 +(6)3 = 1+8+216=225 yapar. 225 126’a eşit olmadığı için listbox’a eklemeyecek.  153 sayısı için (1)3 + (5)3 +(3)3 =1+125+27=153 yapar. 153 153’e eşit olduğu için listbox’a ekler.Bu işlemleri 100 il1 999 arasında yapan kodları yazalım.Birinci döngüde 100 ile 999 arasındaki sayıları alıyorum. (for (int k =100; k < 1000; k++) ).İkinci döngüde k değişkenindeki sayının rakamlarının küp köklerini toplatıyorum.Toplattıktan sonra ikinci döngünün dışında bulduğum küpkök toplamını sayı ile karşılaştırıyorum.(if (toplam==k)) Eşitse listbox’a ekliyor. (listBox1.Items.Add(k))

[code=’csharp’]

namespace rakamları_toplama

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

double  toplam;

private void button1_Click(object sender, EventArgs e)

{

string deger, gecici;

 double kup = 0;

toplam = 0;

for (int k =100; k < 1000; k++) { deger = k.ToString(); for (int i = 0; i < deger.Length; i++)//'sıfırdan degerdeki rakam sayısı kadar      //yani 567 sayısı girildiyse 3 defa for döngüsü çalışılır //çünkü 567 üç rakamlı { gecici = deger[i].ToString();// i.ci rakamı gecici değişkenine aktar    kup = Math.Pow(double.Parse(gecici), 3); //gecicinin küpünü al     toplam = toplam + kup; //toplama kup'ü ekle     } if (toplam==k) //toplam k'ya eşitse { listBox1.Items.Add(k);// k'yı listbox'a ekle   } toplam = 0;//toplamı sıfırla   } } } } [/code]      

Yorumlar 5

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir