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

Множители - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция поиска символа http://www.cyberforum.ru/cpp-beginners/thread172792.html
Всем привет. Есть ли в Си функция поиска символа, слова в строке? В паскале для этого есть pos(); Как определять строковый тип? String x;?
C++ Генерация звука Помогите написать программу для генерации звука через системный динамик с определённой продолжительностю(НА Си). http://www.cyberforum.ru/cpp-beginners/thread172787.html
C++ Наследование в классах
Уважаемые пожскажите по теме Есть класс Автомобиль (например ВАЗ 2114) и класс ТО_Автомобиля (например ТО1 и ТО2) как должно наследоваться: Автомобиль от ТО или ТО от Автомобиля, почему то застопорился на таком простом вопросе.
C++ С клавиатруы вводится 2 числа, найти их наибольший общий делитель.
Буду очень благодарег=(( 1. С клавиатруы вводится 2 числа, найти их наибольший общий делитель. 2. Разложение в степенной ряд e ^ x. 3. Задано площадь круга и квадрата. Выяснить поместится круг в квадрате
C++ Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. http://www.cyberforum.ru/cpp-beginners/thread172590.html
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.
C++ Дано действительное число A, натуральное число n, вычислить... Дано действительное число A, натуральное число n, вычислить: a(a+1)...(a+n-1) используя все три цикла, ну или хотя бы разобрать на примере цикла for, остальное смогу сам). Спасибо подробнее

Показать сообщение отдельно
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
05.10.2010, 17:50     Множители
Дано количество способов разложить число на множители. Нужно узнать это число (наименьшее из них). Я использовал перебор чисел, для каждого узнавал количество делителей и сравнивал с нужным нам. (Число способов меньше 50). Но для чисел 31, 27, 43, 46, 47 ответ найти не удалось.
Пример:
Ввод: 4
Перебор..... 24=1*24=2*12=3*8=4*6 - всего 4 способа (2*12 и 12*2 считаются одним способом)
Вывод: 24

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
   float k;
   cin>>k;
   for(float j=1; ;j++)
   {
      int k1=0;
      for(float i=1; i<=sqrt(j); i++)
            if((int)j%(int)i==0) k1++;
      if(k1==k) {cout<<j<<endl; break;}
   }
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru