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

Armstrong Numarası Nasıl Bulunur?

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.

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

Sum, temp, n, r değişkenlerini bildirin

Kullanıcıdan n değerini al

Değişken toplamını 0 olarak başlat ve n’nin yedeğini temp = n olarak al

n > 0 iken 5 – 7 arasındaki adımları tekrarlayın

r = sayı % 10

toplam = toplam + her basamağın küpü (r × r × r)

n = n/10

Toplam sıcaklığa eşitse, “Sayı bir Armstrong sayısıdır” ifadesini görüntüleyin

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:

Bir tam sayının Armstrong sayısı olup olmadığını belirleyen bir algoritma

C’deki Armstrong Programı

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

Giriş ve çıkış işlemlerini gerçekleştirmek için stdio.h’yi içe aktararak başlayın . Ana işlevi bildirin ve programın mantığını uygulamaya başlayın. Girilen sayıyı saklamak için n’yi , sayının ayrı basamaklarını saklamak için r’yi , rakamların küplerinin toplamını saklamak için sum’u ve sayının bir kopyasını saklamak için temp’i kullanın.

Kullanıcıdan bir sayı girmesini istemek için printf işlevini kullanın . Sayıyı okumak ve n değişkeninde saklamak için scanf işlevini kullanın . %d , bir tamsayıyı girdi olarak 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.

#include <stdio.h>

int main()

{

int n, r, sum, temp;

printf(“Please enter a number: “);

scanf(“%d”, &n);

sum = 0; temp = n;

Sayı sıfır veya daha az olana kadar çalışan bir while döngüsü bildirin. 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:

Katsayısını 10 ile alarak sayının tek basamağını elde edin. Herhangi bir sayıyı 10’a 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.

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.

Sayının son basamağını 10’a bölerek eleyin. 10’a böldüğünüzde bölüm elde edersiniz, bu durumda 15.

while (n > 0) {

r = n % 10;

sum = sum + (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.

if (temp == sum)

printf(“Number is an Armstrong numbern”);

else

printf(“Number is not an Armstrong numbern”);

return 0;

}

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ı

Armstrong Numarası Nasıl Bulunur?

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

sum = sum + r;

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

prod = prod * r;

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

Bir sayının basamaklarını saymak için , basitçe bir değişken sayımı 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:

while (n > 0) {

count++;

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. 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:

if (r < min) {

min = 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:

if (r > max) {

max = r;

}

Bir sayının en büyük ve en küçük rakamlarını bu şekilde bulabilirsiniz .

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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir