Вопрос задан 17.02.2019 в 17:56. Предмет Информатика. Спрашивает Генних Никита.

Помогите пожалуйста с програмированием С++. "в последовательности из N натуральных чисел, найти

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сватко Максим.
Второе красиво решил через строки MinGW GCC 4.7.1
#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;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Решение задачи "в последовательности из 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 #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`, если текущая цифра больше или меньше предыдущих максимальной и минимальной цифр соответственно.

Надеюсь, эти примеры кода помогут вам решить задачи, которые вы описали. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос