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

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

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

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

07.01.2012, 14:06. Просмотров 916. Ответов 3
Метки нет (Все метки)

В решение задач не сильно понимаю если поможете буду признателен.
Миниатюры
Наилучший делитель  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2012, 14:06     Наилучший делитель
Посмотрите здесь:

Наилучший делитель - C++
Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a...

Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам - 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. Посимвольный делитель файла гласн/согласн. Из достаточно длинного файла выбирать согласные и гласные символы и сохранять их в двух...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fiks19
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 44
09.01.2012, 16:00  [ТС]     Наилучший делитель #2
В С++ я не силен если поможете буду признателен
Этот код находит наихудший делитель
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>>
#include <string.h>
char a[9999];
main(){
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        scanf("%s",&a);
        printf("1");
        for (int i = strlen(a)-1; i > 0; i--)
                if (a[i]=='0') printf("0"); else break;
        return 0;
}
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.01.2012, 16:39     Наилучший делитель #3
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
#include <stdio.h>
#include <math.h>
int ssum(int a)
{
    int t=0; 
    while(a)
    {
        t+=a%10;
        a/=10;
    }
    return t;
}
main(){
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
        int n, i, res, sum=0;
        scanf("%d",&n);
        for(i=1; i<=(int)sqrt((double)n); i++)
            if(n%i==0)
            {
                int t=ssum(i);
                if(t>sum || (t==sum && i<res))
                {
                    res=i; sum=t;
                }
                t=ssum(n/i);
                if(t>sum || (t==sum && n/i<res))
                {
                    res=n/i; sum=t;
                }
            }
        printf("%d", res);        
        return 0;
}
Байт
Эксперт C
15667 / 9994 / 1499
Регистрация: 24.12.2010
Сообщений: 18,779
09.01.2012, 16:48     Наилучший делитель #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int Cifr(int x)
{ int s = 0;
while(x>0) {
  s += (x%10);
  s /= 10;
}   
}
bool Best(int a, int b)
{
   int c = Cifr(a) - Cifr(b);
   if (c) return(c>0);
   else return (a>b);
}
main()
{
  int b = 1;
  for(i=2; i<=N; i++) {
    if (N%i) continue;
    if (Best(i, b) b = i;
  }
  cout << b;
}
Yandex
Объявления
09.01.2012, 16:48     Наилучший делитель
Ответ Создать тему
Опции темы

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