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

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

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

Наилучший делитель - C++

09.07.2016, 16:12. Просмотров 199. Ответов 4
Метки нет (Все метки)

Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна семи, а у второго – шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше.
Дано число n. Найдите такой его делитель (само число n и единица считаются делителями числа n), который лучше любого другого делителя числа n.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2016, 16:12     Наилучший делитель
Посмотрите здесь:

Наилучший делитель - C++
В решение задач не сильно понимаю если поможете буду признателен.

Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам - C++
Здравствуйте, помогите доделать следующую задачу. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший...

Делитель. - C++
Найти натуральное число от 1 до 10 000 с максимальной суммой делителей. М.. Через 2 цикла реализовать? или как?

делитель - C++
Как найти максимальный делитель для заданного числа чтоб остаток от деления был 0.И это число было больше 1.

Общий делитель С++ - C++
Помогите составить программу, которая определяет,для двух вводимых натуральных чисел M и N их наибольший общий делитель.

Наихудший делитель. - C++
Ведь наихудший делитель всегда будет равен 1

Наибольший общий делитель - C++
Задача на программирование: наибольший общий делитель По данным двум числам 1≤a,b≤2⋅10^9 найдите их наибольший общий делитель. ...

Как найти делитель - C++
Как найти количество делителей, при том, что число на которое мы делим не будет превышать 10? т.е. число которое мы вводим может быть...

Наибольший общий делитель - C++
Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B,...

найти общий делитель - C++
дан массив ,заданый рандомно, найти общий делитель всех n элементов for(i=0; i<n; i++) {a=rand()%10;} cout<<" Массив размера N: ";...

Наибольший общий делитель - C++
Написать программу, которая находит НОД трех чисел, можно использовать алгоритм Евклида. Главное, чтобы можно было вводить три числа с...

Посимвольный делитель файла - C++
18. Посимвольный делитель файла гласн/согласн. Из достаточно длинного файла выбирать согласные и гласные символы и сохранять их в двух...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Ivana
2883 / 1708 / 148
Регистрация: 01.03.2013
Сообщений: 4,879
Записей в блоге: 2
09.07.2016, 16:37     Наилучший делитель #2
C++
1
2
3
4
int s(int a) {return a ? a%10 + s(a/10) : 0;}
int g(int a, int b) {int r=s(a)-s(b); return r>0 ? a : r<0 ? b : min(a,b);}
int t(int i, int n, int r) {return i>n ? r : t(i+1, n, n%i ? r : g(r, i));}
int main() {int n; cin>>n; cout << t(1,n,1);}
shilko2013
240 / 217 / 116
Регистрация: 02.04.2016
Сообщений: 823
Завершенные тесты: 1
09.07.2016, 16:41     Наилучший делитель #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вроде работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
int sum (int n) {
    int sum=0,d;
    while (n>0) {
        d = n % 10;
        sum += d;
        n = n / 10;
    }
    return sum;
}
int main () {
    int n,d=-1;
    cin >> n;
    for (int i=2;i<n;i++) { //если не считать 1 и само число делителями.
        if (n % i == 0)
            if (sum(i)>sum(d))
                d = a;
            else if ((sum(i)=sum(d)) && (i<d))
                    d = a;
    }
}
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.07.2016, 19:47     Наилучший делитель #4
На самом деле, если мы рассматриваем делители от меньших к большим, то вариант с равными суммами цифр рассматривать не нужно, так как если они совпадут, то у нас уже выбран меньший.
shilko2013
240 / 217 / 116
Регистрация: 02.04.2016
Сообщений: 823
Завершенные тесты: 1
11.07.2016, 14:14     Наилучший делитель #5
Mr.X, Точно!
Yandex
Объявления
11.07.2016, 14:14     Наилучший делитель
Ответ Создать тему
Опции темы

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