17 окт. 2012 г.

C++ — РАЗЛОЖИТЬ ЧИСЛО НА ПРОСТЫЕ


 
#include <iostream>
02#include <cmath>
03using namespace std;
04void getdevidors(int n);
05int main(){
06int n;
07
08while(1) {
09cout << "Enter number to devide "<< endl;
10cout << "Press 0 to exit "<< endl;
11cin >> n;
12if (n==0) break;
13getdevidors(n); //я ввел 9
14
15}
16return 0;}
17void getdevidors(int n){
18int i;
19double sqrt_of_n;
20sqrt_of_n=sqrt(double(n));   //корень равен 3
21for(i=2; i<=sqrt_of_n; i++) //цикл выполнится 2 раза
22if (n%i==0){ cout << i<<", ";  //Если 9/2 без остатки выводим 2 вызываем функцию 9/2 иначе берем след И=3
23getdevidors(n/i);
24return;}  cout << n<<endl;   }

Комментариев нет:

Отправить комментарий