Форум программистов, компьютерный форум CyberForum.ru

Нахождение НОК через факторизацию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Код написан,нужна небольшая корректировка.Массивы http://www.cyberforum.ru/cpp-beginners/thread873497.html
Здравствуйте,задание:: Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если сумма элементов k-го столбца матрицы равна нулю, и значение 1  в противном случае.У меня в ответе получается заоблачное число 468....и.т.д............. или компилятор выкидывает при большем размере(не отвечает),в чем проблема#include <stdio.h> #include <stdlib.h> #include...
C++ Прямая задана уравнением ax+by+c=0, a и b не равны 0. Определить, пересекают ли все прямые первую прямую Прямая задана уравнением ax+by+c=0, a и b не равны 0. Определить, пересекают ли все прямые первую прямую. http://www.cyberforum.ru/cpp-beginners/thread873493.html
C++ Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд
Проверьте программу, сказали что считает неверно. Условие и результат выполнения программы приложено к сообщению. #include <cmath> #include <iomanip> #include <iostream> using namespace std; int fact(int i) { if (i==0)
Комбинированным методом хорд и касательных найти корень уравнения C++
Комбинированным методом хорд и касательных найти корень уравнения
C++ Написать интерполяционный многочлен Лагранжа для функции, значения которой заданы таблицей. Оценить погрешность результата http://www.cyberforum.ru/cpp-beginners/thread873485.html
Написать интерполяционный многочлен Лагранжа для функции, значения которой заданы таблицей. Оценить погрешность результата.
C++ Заголовочные файлы (.h) Доброго времени суток господа! Озадачился вопросом по поводу заголовочных файлов. Но подробного, или понятного мне ответа так и не нашёл. Пример таков: (.h) Создаю xxx.h файл, Создаю в нём набор переменных. Создаю c этими переменными функцию. (К примеру расчёт соотношения здоровья "юнита икс") ну вот, функция готова. кстати "юнит икс" ещё не определён как целенаправленный объект. Далее:... подробнее

Показать сообщение отдельно
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
21.05.2013, 21:09     Нахождение НОК через факторизацию
Вакс Соня, вот код факторизации числа N
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "iostream"
#include "cmath"
 
using namespace std;
 
long long n;
int t;
void fact(int i) {
    t=0;
    while (n%i == 0) { t++; n /= i; }
    if (t > 0) printf("%d %d\n",i,t);
}
 
int main() {
    cin >> n;
    int k = int(sqrt(double(n)));
    fact(2);
    for (int i = 3; i <= k; i += 2) {
        fact(i);
        if (n == 1) break;
    }
    if (n > 1) cout << n << " 1";
}
Добавлено через 5 минут
Вакс Соня, записать разложение большего в set, а затем при разложении меньшего проверять его существование в set, в случае отсутствия -- умножать.

Добавлено через 6 минут
Вакс Соня, вот тут решеньице завалялось. Сначала вводится n, затем n чисел и ищется НОК для всех
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <cstdio>
#include <cmath>
#include <map>
 
using namespace std;
 
void main(){
    int n;
    map<int, int> a;
    scanf("%d", &n);
 
    for (int i=0; i<n; i++){
        int v;
        scanf("%d", &v);
        int j=2;
        while (j < sqrt((double)v)+1){
            int s=0;
            while(!(v%j)){
                s++;
                v/=j;
            }
            if (s > 0 && a[j] < s){
                a[j] = s;
            }
            j++;
        }
        if (a[v] == 0) a[v]++;
    }
    
    long int s=1;
    for (map<int, int>::iterator it=a.begin(); it!=a.end(); it++){
        for (int i=0; i<it->second; i++){
            s*=it->first;
        }
    }
    printf("%d", s);
}
 
Текущее время: 15:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru