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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
#1

Вывод второго самого большого множителя числа N - C++

23.01.2014, 09:05. Просмотров 400. Ответов 7
Метки нет (Все метки)

Доброго времени суток.
Задание в том что, надо вывести второй самый большой множитель числа N.
Например если я ввожу 48, то ответ должен быть 16 - это второй самый большой множитель ( первый самый большой: 24). Если ввожу 9, то ответ 1 - это второй самый большой множитель ( первый самый большой: 3). Если ввожу 5, то ответ 1, т.к. 5 это просто число( делится только на себя и на 1).

Есть начало, но не знаю как добить код до конца. При вводе числа 48, вывод числа 1, 2, 3, 4, 6, 8, 12, 16, 24, 0. Нужно убрать ноль в конце и вывести 16.
C++
1
2
3
4
5
6
7
int second_largest_factor (int n)
{
    for (int i = 1;i < n;i++)
        if(n % i == 0)
            cout << i << " ";
    return 0;
}
Кто может, помогите пожалуйста.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 09:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод второго самого большого множителя числа N (C++):

В массиве найти количество нечетных чисел расположенных после второго самого большого числа - C++
Помогите пожалуйста составить программу и если не затруднит еще блок-схему В массиве A10 найти количество нечетных чисел расположенных...

В заданном файле найти порядковый номер самого большого числа (файловый ввод/вывод) - C++
Входной файл: input.txt Выходной файл: output.txt Женя купила 12 яблок и по приходу домой решила узнать массу каждого яблока....

В строке определить подстроку, являющуюся десятичной записью самого большого числа - C++
Нужно написать программу на СИ которая бы : в заданной строке определяла подстроку, являющуюся десятичной записью самого большого...

В заданной строке определить подстроку, являющуюся десятичной записью самого большого целого числа - C++
В заданной строке определить подстроку, являющуюся десятичной записью самого большого целого числа. Можно на Си

В массиве найти количество нечетных чисел расположенных после второго самого большего числа - C++
Срочно плиз помогите для курсача написать программку на C В массиве найти количество нечетных чисел расположенных после второго...

Вывести квадрат самого большого из заданных чисел в первую строку, а квадрат самого маленького во вторую - C++
Здравствуйте помогите решить задачу сама по себе задача очень легкая но как ее решить используя функцию перегрузки не могу понять условие...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.01.2014, 11:32 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int second_largest_factor (int n)
{
int t=0;
    for (int i = n/2;i >1;i--){
        if(n % i == 0)
            t++;
        if(t==2)
            cout << i << " ";}
if(t<2)
cout << 1 << " ";
    return 0;
}
1
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
24.01.2014, 02:16  [ТС] #3
Цитата Сообщение от valeriikozlov Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
int second_largest_factor (int n)
{
int t=0;
    for (int i = n/2;i >1;i--){
        if(n % i == 0)
            t++;
        if(t==2)
            cout << i << " ";}
if(t<2)
cout << 1 << " ";
    return 0;
}
Спасибо, но это не то. Вывод 16 15 14 13 0

Добавлено через 21 минуту
При помощи предыдущего кода получился такои код

C++
1
2
3
4
5
6
7
8
int second_largest_factor(int n)
{
    for (int i = n /2; i >= 1; i--){
        if (n % i == 0)
            cout << i << " ";
    }
    return 0;
}
и такои вывод 24 16 12 8 6 4 3 2 1 0

вопрос в том как можно вытащить от туда 16 ???
0
gunslinger
случайный прохожий
1134 / 752 / 192
Регистрация: 20.07.2013
Сообщений: 2,077
24.01.2014, 02:30 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int second_largest_factor(int n)
{
  int t=0, i;
  for (i=1; i<=n/2; i++)
    if(n%i == 0)
      cout << i << " ";
  for (i=n/2; i>1; i--)
  {
    if(n%i == 0)
      t++;
    if(t==2)
      break;
  }
  if (i==0)
    i++;
  return i;
}
1
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
24.01.2014, 03:15  [ТС] #5
Народ, совсем рядом! Но кроме 16, остальные ответы не нужны. Должно быть чтобы давал ответ " Ваш второй самый большой множитель 16"
0
gunslinger
случайный прохожий
1134 / 752 / 192
Регистрация: 20.07.2013
Сообщений: 2,077
24.01.2014, 03:35 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int second_largest_factor(int n)
{
  int t=0, i;
  for (i=n/2; i>1; i--)
  {
    if(n%i == 0)
      t++;
    if(t==2)
      break;
  }
  if (i==0)
    i++;
  cout << "Vash samiy bolshoi vtoroi mnozhitel ";
  return i;
}
P.S.: Русские шрифты в консоли
1
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.01.2014, 05:41 #7
Цитата Сообщение от Almat29 Посмотреть сообщение
Вывод 16 15 14 13 0
извиняюсь, писал без компилятора под рукой. вот так пробуйте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int second_largest_factor (int n)
{
int t=0;
    for (int i = n/2;i >1;i--){
        if(n % i == 0)
        {
            t++;
        if(t==2)
            cout << i << " ";}}
if(t<2)
cout << 1 << " ";
    return 0;
}
1
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
24.01.2014, 07:14  [ТС] #8
Всем спасибо большое, все работает! Удачи
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 07:14
Привет! Вот еще темы с ответами:

Вывод из вектора самого короткого и самого длинного string значения - C++
Вывод из вектора самого короткого и самого длинного string значения Подскажите как таковое сделать, если кому не трудно сможете ли вы...

Поиск самого большого элемента в векторе - C++
Здравствуйте. Такой вот не сильно сложный вопрос: Как найти в vector&lt;int&gt;v самое большое число ? Я могу написать &quot;велосипед&quot;, но в...

Найти число разложений числа на 2 множителя - C++
Допустим вводят произвольное число с клавиатуры и надо вывести сколькими способами можно в разложении это число упаковать в двумерный...

Программа по выводу самого большого введеного слова - C++
Всем доброго времени суток, недавно начал изучать C++, нужно написать приложение, в которое пользователь вводит строку, а программа выдает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.01.2014, 07:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru