using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Разложение { public partial class Form1 : Form { public static int len = 0; public static int lenf = 0; public Form1() { InitializeComponent(); len = listBox1.Height; lenf = this.Height; textBox1.Click += new EventHandler(tb_eventClick); } private void tb_eventClick(object snd, EventArgs a) { textBox1.Text = ""; } private void button1_Click(object sender, EventArgs e) { try { listBox1.Items.Clear(); listBox1.Height = len; this.Height = len + 10; decimal a = Convert.ToDecimal(textBox1.Text); decimal[] ard = new decimal[1000]; decimal[] dl = new decimal[1000]; ard[0] = a; for (decimal i = 2, ct = 1, pt = 0; ; ) { if (a % i == 0) { ard[checked((int)ct++)] = a /= i; dl[checked((int)pt++)] = i; } else i++; if (a == 1) { for (decimal g = 0; g < ct - 1; g++) listBox1.Items.Add(ard[checked((int)g)].ToString() + "," + dl[checked((int)g)].ToString()); listBox1.Items.Add(a.ToString()); break; } } listBox1.Height += 13 * listBox1.Items.Count; this.Height += listBox1.Height + 40; } catch (OverflowException) { MessageBox.Show(this, "Слишком большое число", "Ошибка", MessageBoxButtons.OK); } catch (Exception) { this.Height = lenf; MessageBox.Show(this, "...", "Ошибка", MessageBoxButtons.OK); } } } }