Разложение на простые множители (С++)
Пишем программу, которая будет осуществлять разложение числа на простые множители, например, 1053=3*3*3*3*13.Используем простой метод – будем делить последовательно число М на числа k=2, 3 и так далее, пока М будет делиться и k не превысит М/2. Для соблюдения условий применим цикл с постусловием (do – while).
Для проверки, является ли число М простым, введем переменную j и присвоим ей значение 1. Если найдется делитель, то переменная j обнуляется. Это значит, что число не является простым.
#include <iostream.h>
void main()
{
long M,M1,k=2;
int j=1;
cout<<"Введите целое число: ";
cin>>M;
M1=M/2;
cout<<M<<" = ";
do
{
if(M%k==0)
{
j=0;
M=M/k;
cout<<k;
if(M!=1) cout<<"*";
}
else k++;
} while (k<=M1);
if(j==1) cout<<"простое число";
cin.get();
}
