
Помогите пожалуйста с програмированием С++. "в последовательности из N натуральных чисел, найти
число с максимальной суммой делителей" и другая "в записи данного натурального числа N найти наибольшую и наименьшую цифры", решите хотя бы одну, пожалуйста!!

Ответы на вопрос

#include <iostream>
#include <string>
#include <locale.h>
using namespace std;
char max(char a, char b)
{
return (a > b) ? a : b;
}
char min(char a, char b)
{
return (a < b) ? a : b;
}
int main(void)
{
setlocale(LC_ALL,"rus");
string s;
cout<<"Введите число: "; cin>>s;
char min_c = '9', max_c = '0';
for(size_t i = 0; i < s.length(); i++)
{
max_c = max(s[i], max_c);
min_c = min(s[i], min_c);
}
cout << "Наибольшая цифра: " << max_c << endl <<"Наименьшая цифра: " << min_c << endl;
return 0;
}



Решение задачи "в последовательности из N натуральных чисел, найти число с максимальной суммой делителей"
Для решения этой задачи, мы можем перебрать все числа в последовательности и для каждого числа вычислить сумму его делителей. Затем мы выберем число с максимальной суммой делителей.
Вот пример кода на C++, который решает данную задачу:
```cpp
#include
int sumOfDivisors(int n) { int sum = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { sum += i; } } return sum; }
int main() { int N; std::cout << "Введите количество чисел в последовательности: "; std::cin >> N;
int maxSum = 0; int numberWithMaxSum = 0;
for (int i = 0; i < N; i++) { int num; std::cout << "Введите число: "; std::cin >> num;
int currentSum = sumOfDivisors(num); if (currentSum > maxSum) { maxSum = currentSum; numberWithMaxSum = num; } }
std::cout << "Число с максимальной суммой делителей: " << numberWithMaxSum << std::endl;
return 0; } ```
В этом коде мы используем функцию `sumOfDivisors`, которая вычисляет сумму делителей для заданного числа `n`. Затем в основной функции `main` мы перебираем все числа в последовательности, вычисляем сумму делителей для каждого числа и обновляем `maxSum` и `numberWithMaxSum`, если текущая сумма делителей больше предыдущей максимальной суммы.
Решение задачи "в записи данного натурального числа N найти наибольшую и наименьшую цифры"
Для решения этой задачи, мы можем преобразовать число `N` в строку и затем перебрать все символы строки, чтобы найти наибольшую и наименьшую цифры.
Вот пример кода на C++, который решает данную задачу:
```cpp
#include
int main() { int N; std::cout << "Введите натуральное число: "; std::cin >> N;
std::string numberString = std::to_string(N);
char maxDigit = '0'; char minDigit = '9';
for (char digit : numberString) { if (digit > maxDigit) { maxDigit = digit; } if (digit < minDigit) { minDigit = digit; } }
std::cout << "Наибольшая цифра: " << maxDigit << std::endl; std::cout << "Наименьшая цифра: " << minDigit << std::endl;
return 0; } ```
В этом коде мы используем функцию `std::to_string` для преобразования числа `N` в строку `numberString`. Затем мы перебираем все символы строки и обновляем `maxDigit` и `minDigit`, если текущая цифра больше или меньше предыдущих максимальной и минимальной цифр соответственно.
Надеюсь, эти примеры кода помогут вам решить задачи, которые вы описали. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili