Şimdi Ara

2^1000 ün rakamları toplamı...

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
12
Cevap
0
Favori
257
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar matlab'da yapmaya çalışlıyorum. Kod bu;
    a=2^1000;
    liste=[];
    while a
    rakam=mod(a,10);
    rakam=fix(rakam)
    liste(end+1)=rakam;
    a=a/10;
    a=fix(a)
    end
    sum(liste)

    doğru cevabı vermiyor ama küçük sayılarda veriyor.. Yardımcı olursanız sevinirim.



  • hocam kodda sorun yok gibi ama doğru cevabın ne olmması gerekiyor acaba ?
  • Matlab bilmiyorum ama şu şekilde hallederdim ben olsam. String'e çevirerek her char üzerinden iterate edebilirsiniz gibi. Sayıyı string'e çevirip her basamağı tek tek int haline getirirsiniz. Sonra da tüm değerleri toplatırsınız. Python karşılğı şöyle:

    basamaklar_toplami = sum([int(x) for x in str(2 ** 1000)])
  • Bugra96 B kullanıcısına yanıt
    1366 cevap
  • quote:

    Orijinalden alıntı: Fulctrum

    Matlab bilmiyorum ama şu şekilde hallederdim ben olsam. String'e çevirerek her char üzerinden iterate edebilirsiniz gibi. Sayıyı string'e çevirip her basamağı tek tek int haline getirirsiniz. Sonra da tüm değerleri toplatırsınız. Python karşılğı şöyle:

    basamaklar_toplami = sum([int(x) for x in str(2 ** 1000)])


    Ama benim kodum küçük sayılar için çalışıyor... 2^1000 i rasyonel olarak yazdırmayıda becemeremedim ilk bi kaç basamaktan sonra hep 0 yazıyor. str ye çevirsemde 000 yazdı.. Bu arada benim kod 1189 buluyor. Senin dediğin gibi yapınca 14564 buldu



    < Bu mesaj bu kişi tarafından değiştirildi Guest-1F246E119 -- 4 Aralık 2016; 17:5:43 >
  • https://www.mathworks.com/matlabcentral/answers/141553-big-integer-and-precision


    bakarsın

    c# da böyle olabilir
    var sonuç=BigInteger.Pow(2, 1000).ToString().Sum(x=>int.Parse(x.ToString()));



    < Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 4 Aralık 2016; 17:54:23 >
  • quote:

    Orijinalden alıntı: Gökşen PASLI

    https://www.mathworks.com/matlabcentral/answers/141553-big-integer-and-precision

    bakarsın

    Saolun... yeni kod;

    a=sym(2)^1000;
    liste=[];
    while a
    rakam=mod(a,10);
    rakam=fix(rakam);
    liste(end+1)=rakam;
    a=a/10;
    a=fix(a);
    end
    sum(liste)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Matlab'ı bırakmanı öneririm. Her eskiyen veya her proprietary yazılımı bırakan kişi değilim, örneğin şu anda WinXP Laptop'umdan yazıorum (cunku WinXP'nin eskimeyen kalitede ve kullanışlı birşey old düşünüorum) ancak Matlab yerine başta R olmak üzere harika platformlar var.

    2 üssü 1000'in oldukça yüksek olması dolayısıyla C 'de math.c kütüphanesinin pow fonksiyonu şişiyor, "inf" gibi garip bir sonuç döndürüo ki o da tabi ki infinity olmalı. Bu tür durumlarda kullandığım Lisp ile basit bir kod yazdım. Koddaki bir fonksiyonu birkaç ay önce bu forumda Euler sorusu çözerken yazmıştım.

    potenz --> üs, rakamdan-liste --> sayıdan rakam listesi oluşturmak için ve basamak-toplam --> rakamların toplamını almak için.

    Sonuç 1366 cıktı.

    (defun potenz (a p akku) 
    (if (= p 0)
    akku
    (potenz a (- p 1) (* a akku))))

    (defun rakamdan-liste (liste)
    (let ((rakam-listesi (map 'list #'digit-char-p (prin1-to-string liste))))
    rakam-listesi) )

    (defun basamak-toplam (liste)
    (if (null liste) 0
    (+ (car liste) (basamak-toplam (cdr liste))
    )))


     2^1000 ün rakamları toplamı...




  • 1366 imis, merak ettim az once.
    Java
    BigDecimal base = new BigDecimal("2"); 
    BigDecimal total = base.pow(1000);
    String valueString = total.toPlainString();
    long decTotal = 0;
    for (int i = 0; i < valueString.length(); i++) {
    char c = valueString.charAt(i);
    String s = new Character(c).toString();
    decTotal += Integer.parseInt(s);
    }
    System.out.println();
    System.out.println(decTotal);


    2^1000 = 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • Cevaplar icin cok saolun..

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: revivo72

    Matlab'ı bırakmanı öneririm. Her eskiyen veya her proprietary yazılımı bırakan kişi değilim, örneğin şu anda WinXP Laptop'umdan yazıorum (cunku WinXP'nin eskimeyen kalitede ve kullanışlı birşey old düşünüorum) ancak Matlab yerine başta R olmak üzere harika platformlar var.

    2 üssü 1000'in oldukça yüksek olması dolayısıyla C 'de math.c kütüphanesinin pow fonksiyonu şişiyor, "inf" gibi garip bir sonuç döndürüo ki o da tabi ki infinity olmalı. Bu tür durumlarda kullandığım Lisp ile basit bir kod yazdım. Koddaki bir fonksiyonu birkaç ay önce bu forumda Euler sorusu çözerken yazmıştım.

    potenz --> üs, rakamdan-liste --> sayıdan rakam listesi oluşturmak için ve basamak-toplam --> rakamların toplamını almak için.

    Sonuç 1366 cıktı.

    (defun potenz (a p akku) 
    (if (= p 0)
    akku
    (potenz a (- p 1) (* a akku))))

    (defun rakamdan-liste (liste)
    (let ((rakam-listesi (map 'list #'digit-char-p (prin1-to-string liste))))
    rakam-listesi) )

    (defun basamak-toplam (liste)
    (if (null liste) 0
    (+ (car liste) (basamak-toplam (cdr liste))
    )))


     2^1000 ün rakamları toplamı...


    Matlab in ne gibi dezavantajlari var ?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • @BrKTrM Matlab in ne gibi dezavantajlari var ?
    dezavantaj, gönderi başlığında kendin de yaşamışsın küçük sayıda calıştı büyük sayıda çalışmadı diye. Ben tarih öncesi cağlarda (1997) Matlab kullandım ve o zaman da hiç sarmamıştı şimdi de sarmadı üstüne bir de boru gibi lisans ücreti, ancak bizim üniversitelerde kullanılır. Ben R Lang dedim ancak alternatif olarak daha bir yığın Comparison_of_numerical_analysis_software şey var. Ünv öğrenci isen , matlab kullanan ve kullandırtan kişilere gidip bu alternatiflerden bahsedecen "wiki yanlış yazmış" derler mi?

    @Mephalay koda import "java.math.*;" eklesen iyi olurdu cunku herkes her zaman java kullanmıyor.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.