Situatie
Sa se descompună un număr natural n în factori primi.
Ex: 360=23*32*51
Analiza Programului
Consideram toate numerele naturale incepand cu 2.
Pentru fiecare numar verificam daca este divizor al lui n. Daca da, calculam multiplicitatea acestui divizor in n impartind succesiv pe n la divizor si calculam numarul de impartiri efectuate atat timp cat n mai are divizori.
Solutie
using System; namespace _20 { class Program { static void Main(string[] args) { Console.WriteLine("Introduceti numarul natural"); int n = int.Parse(Console.ReadLine()); int m, p; m = n; //pentru fiecare numar verificam daca este divizor for (int divizor = 2; divizor <= n / 2; divizor++) { //este divizor, calculam multiplicitatea if (m % divizor == 0) { p = 0; while (m % divizor == 0) { p ++; m /= divizor; } Console.Write("{0}^{1}*", divizor, p); } if (m == 1) break; } Console.WriteLine("1"); Console.ReadLine(); } } }
Leave A Comment?