Mesajlar: 1,852
Puanlar: 12,672
Konum: Istanbul
Thanks: 23 times
17 Mesajına Toplam 26 Kere Teşekkür Edildi.
|
Kod: private void DynamicNestedLoop(int number, int index) { // get the current digit // sayıdan index ile belirtilmiş basamağı al int currentdigit = GetDigitAtIndex(number, index); // if the current digit is 9 than we have to reset the number // eğer şu anki basamak 9 ise sayıyı sıfırlamamız gerekiyor if (currentdigit < 9) { // get the new number. for instance if the current number 1000 // and index = 3 than new number will be 1001 // yeni sayıyı al, örneğin şu anki sayımız 100 ise // üretilecek yeni sayımız 1001 olacaktır int newnumber = ChangeDigitAtIndex(number, index, currentdigit + 1); Console.WriteLine(newnumber); // call the method again with the current index // metodu mevcut index ile yeniden çağır DynamicNestedLoop(newnumber, index); } else { // if the current index greater than 0 // (it means if we are not dealing with the first digit) // eğer şu anki indeximiz 0'dan büyükse // yeni sayının ilk basamağı ile uğraşmıyorsak if (index > 0) { // get the previous digit of the number // because we will increase it // sayının bir önceki basamağını al // önceki basamağı arttıracağız çünkü int prevdigit = GetDigitAtIndex(number, index - 1); // if the previous digit is less than 9 // eğer bir önceki basamağımız 9'dan küçükse if (prevdigit < 9) { // increase the previous digit // bir önceki basamağı arttır int newnumber = ChangeDigitAtIndex(number, index - 1, prevdigit + 1); int numberlength = number.ToString().Length; // reset the number to its minimum value // set every digit to zero beginning from the previous index // sayıyı bir önceki basamaktan başlayarak sıfırla // diğer basamakları sıfırla for (int i = numberlength - 1; i > index - 1; i--) newnumber = ChangeDigitAtIndex(newnumber, i, 0); Console.WriteLine(newnumber); // call method again from the beginning // metodu en başından yeniden çağır DynamicNestedLoop(newnumber, numberlength - 1); } else { // if previous digit is 9 than look for other digits // eğer bir önceki basamak 9 ise diğer basamakları kontol et DynamicNestedLoop(number, index - 1); } } } }
Sınıfın detaylı kullanımı için aşağıdaki linki takip ediniz lütfen. Linkleri görebilmek için lütfen siteye üye olunuz!
|