lostyazilim
tr.link

R Studio ile Armstrong sayılarını bulmak?

4 Mesajlar 1.088 Okunma
acebozum
tr.link

senisende senisende Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 12.11.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Borsa, Webmaster
  • Konum İstanbul Anadolu
  • Ad Soyad M** E**
  • Mesajlar 245
  • Beğeniler 66 / 38
  • Ticaret 3, (%100)
Merhabalar, Armstrong sayılarını R Studio'da nasıl bulabilirim ? Bilenler yardımcı olurlarsa sevinirim.
 

 

elektronikssl
webimgo

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
C# dilinden çevirebilirsen buyur ;

for (int i = 100; i <= 999; i++)
{
int a = i / 100;
int b = (i - a * 100) / 10;
int c = (i - a * 100 - b * 10);

int d = a * a * a + b * b * b + c * c * c;

if (i == d)
System.Console.WriteLine("{0}", i);
}
Console.ReadKey();


Bu kod 100 ile 1000 arasındaki Armstrong sayılarını bulur.

153 = 1^3 + 5^3 + 3^3
370 = 3^3 + 7^3 + 0^3
371 = 3^3 + 7^3 + 1^3
407 = 4^3 + 0^3 + 7^3
 

 

senisende senisende Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 12.11.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Borsa, Webmaster
  • Konum İstanbul Anadolu
  • Ad Soyad M** E**
  • Mesajlar 245
  • Beğeniler 66 / 38
  • Ticaret 3, (%100)
rmstrong <- function(x) {
tmp <- strsplit(as.character(x), split="")
cubic <- sapply(tmp, function(y)sum(as.numeric(y)^3))
return(cubic == x)
}

s <- 1:1000000
s[armstrong(s)]


Elimde bu şekilde bir kod var ama sadece 3 basamaklı armstrong sayılarını gösteriyor.
 

 

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
s <- 99:1000000

armstrong <- vapply(s, function(x) {

tmp <- strsplit(as.character(x), split="")

exponent <- length(tmp[[1]])

sum <- sapply(tmp, function(y)sum(as.numeric(y)^exponent))

return(sum == x)
},FUN.VALUE = 1)

s[armstrong == 1]
senisende

kişi bu mesajı beğendi.

wmaraci
wmaraci
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al