Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Bir Armstrong numarası, veri güvenliği için şifreleme ve şifre çözme alanında anahtar bir kavramdır.

Bir sayının basamaklarını işleme genel konsepti temel bir tekniktir. Rakamları toplama, sayıların çarpımını alma, rakamları sayma ve bir sayıyı tersine çevirme gibi birçok görevi bu yaklaşımla çözebilirsiniz.

Ama bir Armstrong sayısı nedir ve bir tanesini nasıl test edersiniz?

Armstrong Sayısı Nedir?

Bir Armstrong sayısı, basamaklarının küpleri toplamı sayının kendisine eşit olan bir sayıdır. Örneğin, 153 bir Armstrong sayısıdır. 153'ün rakamlarını tek tek alıp küplerini alırsanız:

(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)

Ardından sonuçları ekleyin:

1 + 125 + 27

Orijinal numarayla aynı olan 153'ü alacaksınız.

Armstrong Sayısını Bulan Bir Algoritma

Bir algoritma yazmak, herhangi bir programı uygulamanın ilk adımıdır. Algoritmayı sözde kod yazmak için referans olarak kullanabilir, ardından istediğiniz programlama dilini kullanarak uygulayabilirsiniz. Algoritma, mantık hatalarını ortadan kaldıran ve uygulamayı daha basit hale getiren tam olarak takip etmeniz gereken talimatlar dizisini size verir.

instagram viewer

İşte bir sayının Armstrong olup olmadığını bulma algoritması:

  1. Sum, temp, n, r değişkenlerini bildirin
  2. Kullanıcıdan n değerini al
  3. Değişken toplamını 0 olarak başlat ve n'nin yedeğini temp = n olarak al
  4. n > 0 iken 5 - 7 arasındaki adımları tekrarlayın
  5. r = sayı % 10
  6. toplam = toplam + her basamağın küpü (r × r × r)
  7. n = n / 10
  8. Toplam sıcaklığa eşitse, "Sayı bir Armstrong sayısıdır" ifadesini görüntüleyin
  9. Aksi takdirde, "Numara bir Armstrong Numarası değildir" ifadesini görüntüleyin.

Armstrong Algoritmasını Uygulamak için Sözde Kod

Sözde kod, bir algoritmanın uygulanmasını tasarlamada yararlı bir adım olabilir. Sözde kodu yazmak, onu herhangi bir programlama dilinde kolayca koda dönüştürmenize yardımcı olur. İşte Armstrong sayısının uygulanması için sözde kod:

C'deki Armstrong Programı

Yukarıdaki sözde kodu gözlemleyin ve her ifadeyi C koduna dönüştürün.

İçe aktararak başlayın stdio.h giriş ve çıkış işlemlerini gerçekleştirmek için. beyan etmek ana işlevini çalıştırın ve programın mantığını uygulamaya başlayın. Kullanmak N giriş numarasını saklamak için, R numaranın bireysel rakamlarını saklamak için, toplam basamakların küplerinin toplamını saklamak için ve sıcaklık Numaranın bir kopyasını saklamak için.

Kullan printf kullanıcıdan bir sayı girmesini istemek için işlev. Kullan taramak sayıyı okuma ve değişkende saklama işlevi N. %D giriş olarak bir tamsayı almak için ondalık biçim belirleyicisidir.

Toplamı sıfır olarak başlatarak herhangi bir çöp değeri temizleyin ve n'nin bir yedeğini geçici olarak alın.

#katmak <stdio.h>

intana()
{
int n, r, toplam, sıcaklık;
printf("Lütfen bir numara giriniz: ");
taramak("%D", &N);
toplam = 0; sıcaklık = n;

ilan etmek sırasında sayı sıfır veya daha az olana kadar çalışan döngü. Döngünün içinde, diğer çeşitli programlama görevlerinde kullanabileceğiniz üç adımlı bir işlem vardır. Üç adım şunlardır:

  1. Sayının modülünü 10 ile alarak sayının tek hanesini bulun. Herhangi bir sayıyı 10 ile tam olarak böldüğünüzde kalan, son basamağın kendisidir. Örneğin, 153'ü 10'a böldüğünüzde tamsayı sonucu 15 ve modül 3'tür.
  2. Bireysel haneye sahip olduğunuzda, istediğiniz işlemi gerçekleştirebilirsiniz. Bir Armstrong sayısını bulmak için istenen işlem, sayının rakamlarının küplerinin toplamıdır. r rakamının küpünü alın ve toplam değişkenine ekleyin.
  3. Sayının son basamağını 10'a bölerek eleyin. 10'a böldüğümüzde bölümü elde ederiz, bu durumda 15.
sırasında (n > 0) {
r = n % 10;
toplam = toplam + (r * r * r);
n = n / 10;
}

Elde edilen toplamın orijinal sayıya eşit olup olmadığını kontrol edin. Eşitlerse, sayı gerçekten bir Armstrong sayısıdır, aksi halde değildir.

eğer (sıcaklık == toplam)
printf("Sayı bir Armstrong sayısıdır\n");
başka
printf("Numara bir Armstrong numarası değil\n");

geri dönmek0;
}

Genel Algoritmanın Diğer Uygulamaları

Yukarıda görülen üç adımlı mantığın ikinci adımını değiştirerek çeşitli programlar uygulayabilirsiniz.

1. Sayının Basamaklarının Toplamı, Çarpımı

Bir sayının basamaklarının toplamını almak için satırı şu şekilde değiştirin:

toplam = toplam + r;

Çarpım için, prod değişkenini 1 olarak bildirin ve toplama toplamını bir çarpma simgesiyle değiştirin:

ürün = ürün * r;

2. Sayı Basamaklarının Sayısı

İle bir sayının rakamlarını say, basitçe bir değişken sayısını sıfır olarak başlatın, birinci adımı atlayın ve n sıfıra eşit olana kadar artırın. Döngünün uygulanması şöyle görünecektir:

sırasında (n > 0) {
sayı++;
n = n / 10;
}

3. Sayının Tersi, Palindrom Sayısı

Bir sayıyı tersine çevirmek için rev değişkenini bire sıfırlayın ve onu on ile çarptıktan sonra ekleyin:

rev = (rev * 10) + r;

Bir sayının tersini elde ettiğinizde, onu orijinal sayının kopyasıyla karşılaştırın. Ters sayı sayının kendisine eşitse, bu bir Palindrom sayısıdır.

4. Bir Sayının En Küçük ve En Büyük Basamağı

Bir min değişkenini dokuz olarak başlatın ve bir sayının en küçük basamağını bulmak için birinci adımdan çıkarılan basamakla karşılaştırın. Bunu şu şekilde uygulayabilirsiniz:

eğer (r < dakika) {
dak = r;
}

Benzer şekilde, bir max değişkenini sıfır ile başlatın ve bir sayının en büyük basamağını bulmak için çıkarılan basamakla karşılaştırın. Bunu şu şekilde uygulayabilirsiniz:

eğer (r > maks) {
maks = r;
}

bu şekilde bulabilirsin bir sayının en büyük ve en küçük rakamları.

5. Özel Numaralar

Armstrong sayısı gibi hesaplayabileceğiniz birçok başka sayı vardır. Bunlar arasında Neon sayısı, Otomorfik sayı, Krishnamurthy sayısı, Buzz sayısı, Mükemmel sayı, Dostane sayı ve İkiz asal sayı bulunur.

Programlama ve Matematik

Matematik, programlamada yaygın olarak kullanılmaktadır. Bugün kullandığınız tüm yazılımlar sıfır ve bir rakamlarının bir kombinasyonu olduğundan, ikili matematik programlamanın çekirdeğidir. Çalıştığınız tüm veriler ikili biçimde saklanır. Doğrusal cebir, makine öğrenimi uygulamalarında, grafik algoritmalarında, kuantum hesaplamasında ve daha fazlasında kullanılır.

Calculus, ayrık matematik ve istatistik, problem çözme ve algoritma tasarımında yaygın olarak kullanılmaktadır. Matematik, hesaplama becerilerinizi geliştirir ve programlamanın önemli bir parçasıdır.