Diskuze: Rozklad na prvočísla
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nemám momentálně čas na napsání kódu, hledáš na Googlu klíčové fráze "prime factor" / "prvočíselný rozklad".
Myslíš něco jako tohle?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Rozklad_na_prvocisla
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnrozloz_Click(object sender, EventArgs e)
{
string cislotextem = txtcislo.Text;
int cislo = 0;
try
{
cislo = Convert.ToInt32(cislotextem);
}
catch (Exception)
{
MessageBox.Show("Zadáno neplatné číslo.");
txtcislo.Text = null;
return;
}
List<int> prvocisla = new List<int>();
while(cislo % 2 == 0)
{
prvocisla.Add(2);
cislo /= 2;
}
int prvocislo = 3;
while(prvocislo * prvocislo <= cislo)
{
if (cislo % prvocislo == 0)
{
prvocisla.Add(prvocislo);
cislo /= prvocislo;
}
else
prvocislo += 2;
}
if (cislo > 1) prvocisla.Add(cislo);
lbvysledek.Items.Add("Rozložená prvočísla vzestupně:");
foreach (int vysledek in prvocisla)
lbvysledek.Items.Add(vysledek);
}
}
}
Ještě by bylo hodné pro zadání nového čísla vložit na začátek:
lbvysledek.Items.Clear();
Takhle se přidávají s novým zadáním řádky.
Zobrazeno 6 zpráv z 6.