Şimdi Ara

asal çarpanları bulma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
483
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 302231454903657293676543 sayısının asal çarpanlarını bulmam için yardımcı olabilir misiniz? exe ve kodlu gönderme imkanı olursa en azından kodu da görmüş olurum, sadece kod ile çalışmıyor çalıştıramıyorum bazen, o yüzden ikisini birlikte gönderme imkanı olursa bilen biri yardımcı olabilir mi şimdiden teşekkürler



  •  

    * Created by SharpDevelop.
    * User: goksen
    * Date: 24.11.2016
    * Time: 21:19
    *
    * To change this template use Tools | Options | Coding | Edit Standard Headers.
    */
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Linq;
    using System.Numerics;
    namespace çarpanlaraayır
    {
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
    public MainForm()
    {
    //
    // The InitializeComponent() call is required for Windows Forms designer support.
    //
    InitializeComponent();

    //
    // TODO: Add constructor code after the InitializeComponent() call.
    //
    }

    public IEnumerable<int> Asalsayılar()
    {
    return new[] { 2 }.Concat(Teksayılar().Where(x =>
    {
    var sqrt = Math.Sqrt(x);
    return Teksayılar().TakeWhile(y => y <= sqrt).All(y => x % y != 0);
    }));
    }

    public IEnumerable<int> Teksayılar()
    {
    int start = 1;
    while (start > 0)
    {
    yield return start+=2;
    }
    }


    public IEnumerable<BigInteger> AsalÇarpan(string giriş)
    {
    BigInteger sayı;
    BigInteger.TryParse(giriş,out sayı);
    BigInteger first = Asalsayılar()
    .TakeWhile(x => x <= Math.Pow(Math.E, BigInteger.Log(sayı) / 2)+1)
    .FirstOrDefault(x => sayı % x == 0);
    return first == 0
    ? new[] { sayı }
    : new[] { first }.Concat(AsalÇarpan((sayı / first).ToString()));
    }

    void Button1Click(object sender, EventArgs e)
    {
    listBox1.Items.Clear();
    var çarpanlar = AsalÇarpan(textBox1.Text);
    for (var j = çarpanlar.GetEnumerator(); j.MoveNext();) {
    var i = j.Current;
    listBox1.Items.Add(i);
    }
    }
    }
    }




  • quote:

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

     

    * Created by SharpDevelop.
    * User: goksen
    * Date: 24.11.2016
    * Time: 21:19
    *
    * To change this template use Tools | Options | Coding | Edit Standard Headers.
    */
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Linq;
    using System.Numerics;
    namespace çarpanlaraayır
    {
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
    public MainForm()
    {
    //
    // The InitializeComponent() call is required for Windows Forms designer support.
    //
    InitializeComponent();

    //
    // TODO: Add constructor code after the InitializeComponent() call.
    //
    }

    public IEnumerable<int> Asalsayılar()
    {
    return new[] { 2 }.Concat(Teksayılar().Where(x =>
    {
    var sqrt = Math.Sqrt(x);
    return Teksayılar().TakeWhile(y => y <= sqrt).All(y => x % y != 0);
    }));
    }

    public IEnumerable<int> Teksayılar()
    {
    int start = 1;
    while (start > 0)
    {
    yield return start+=2;
    }
    }


    public IEnumerable<BigInteger> AsalÇarpan(string giriş)
    {
    BigInteger sayı;
    BigInteger.TryParse(giriş,out sayı);
    BigInteger first = Asalsayılar()
    .TakeWhile(x => x <= Math.Pow(Math.E, BigInteger.Log(sayı) / 2)+1)
    .FirstOrDefault(x => sayı % x == 0);
    return first == 0
    ? new[] { sayı }
    : new[] { first }.Concat(AsalÇarpan((sayı / first).ToString()));
    }

    void Button1Click(object sender, EventArgs e)
    {
    listBox1.Items.Clear();
    var çarpanlar = AsalÇarpan(textBox1.Text);
    for (var j = çarpanlar.GetEnumerator(); j.MoveNext();) {
    var i = j.Current;
    listBox1.Items.Add(i);
    }
    }
    }
    }


    hocam Allah razı olsun, bunun çalışır halini de gönderme imkanın var mı




  • var da en azından sharp develop kurup form uygulamasından kendin yapman lazım yoksa benim göndermemin sana faydası yok

    http://s3.dosya.tc/server9/mj9ze5/dosya.rar.html
  • quote:

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

    var da en azından sharp develop kurup form uygulamasından kendin yapman lazım yoksa benim göndermemin sana faydası yok
    http://s3.dosya.tc/server9/mj9ze5/dosya.rar.html

    hocam indirdim ama 4 tane hata verdi. nasıl yaptığımı söyliyim. ona göre adım adım yönlendirebilirseniz çok minettar kalırım.
    file-new-solution
    console application seçili olarak- name kısmına sadece a harfi yazarak create dedim.

    * To change this template use Tools | Options | Coding | Edit Standard Headers.
    */
    buraya kadar değişiklik yapmadım. bundan sonraki kısmını sizinkini yapıştırdım
    sonra debug-run dedim
    ***The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) (CS0234) - C:\Users\ab128783\Documents\SharpDevelop Projects\a\a\Program.cs:12,23
    ***The type or namespace name 'Numerics' does not exist in the namespace 'System' (are you missing an assembly reference?) (CS0234) - C:\Users\ab128783\Documents\SharpDevelop Projects\a\a\Program.cs:14,15
    *** public partial class MainForm : Form
    *** public IEnumerable<BigInteger> AsalÇarpan(string giriş)



    HATALARINI aldım. nerde yanlış yaptım :)  asal çarpanları bulma



    < Bu mesaj bu kişi tarafından değiştirildi gencco -- 29 Kasım 2016; 16:53:52 >




  • console değil sen rardan dosyaları çıkart sonra çarpanlaraayır.sln dosyasını aç
    o kadar ha biginteger ile ilgili hata verirse onu add reference dan system.numerics i eklersin
  • Gökşen PASLI G kullanıcısına yanıt
    Asal sayilari bulma algoritmasi icin bir seyler soyleyeyim istedim.
    En pratik ve performansli implementosyanlardan birini yapmissin,https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes bunun bir varyanti.
    Ama soyle bir yaklasim bir tik daha performansli oluyor, belki meraklisi vardir diye soyluyorum :https://en.wikipedia.org/wiki/Sieve_of_Atkin
    hackerrank gibi performans kritik yarismalar icin senin implementasyon muhtemelen gayet yeterlidir ama boyle de bir sey var : )
    tebrikler.

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




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