Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
 Аватар для Namatrasnik
2 / 2 / 2
Регистрация: 29.10.2015
Сообщений: 269

Даны натуральные числа N, M. найти все натуральные числа, меньше N, квадрат суммы цифр которых равен M

22.10.2016, 10:51. Показов 7223. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, с задачей на C#: Даны натуральные числа N, M. найти все натуральные числа, меньше N, квадрат суммы цифр которых равен M
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2016, 10:51
Ответы с готовыми решениями:

Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m
namespace ConsoleApplication1 { class Program { static void Main(string args) { ...

Получить все натуральные числа меньше n, квадрат суммы цифр, который равен t
Помогите пожалуйста. Кому не сложно Даны натуральные числа n, t. Получить все натуральные числа меньше n, квадрат суммы цифр, который...

Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m
11. Даны натуральные числа n,m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m

6
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
22.10.2016, 11:06
C#
1
2
3
4
5
6
7
8
9
            var M = 36;
            var N = 156;
            for (var i = 1; i <= N; i++) { 
                var sum = i.ToString().Select(x => int.Parse(x.ToString())).Sum();
                if (sum*sum == M)
                {
                    Console.WriteLine(i);
                }
            }
Можно так:
C#
1
2
3
4
5
6
7
8
9
10
11
            var M = 36;
            var N = 156;
 
            M = Convert.ToInt16(Math.Sqrt(M));
            for (var i = 1; i <= N; i++) { 
                var sum = i.ToString().Select(x => x - '0').Sum();
                if (sum == M)
                {
                    Console.WriteLine(i);
                }
            }
1
 Аватар для Namatrasnik
2 / 2 / 2
Регистрация: 29.10.2015
Сообщений: 269
27.10.2016, 19:50  [ТС]
mishau, а можно ли этот код написать попроще ? Просто преподаватель не любит, когда использую команды, которые мы не проходили. Да и мне, как новичку, не особо понятно...
0
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
27.10.2016, 23:44
Вот эта строка не нравится?

C#
1
 var sum = i.ToString().Select(x => int.Parse(x.ToString())).Sum();
Это очень простой способ подсчитать сумму цифр. Для этого число переводится в строку, затем каждая цифра строки преобразуется в число от 0 до 9, и наконец все эти числа суммируются.

Иначе строку надо заменить эту сроку на собственную функцию, которая считает сумму цифр.

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
    class Program
    {
        static int SummarizeDigits(int n)
        {
            int sum = 0;
            while (n != 0)
            {
                sum += n % 10;
                n /= 10;
            }
            return sum;
        }
 
        static void Main(string[] args)
        {
            int M = 36;
            int N = 156;
            for (var i = 1; i <= N; i++)
            {
                int sum = SummarizeDigits(i);
                if (sum * sum == M)
                {
                    Console.WriteLine(i);
                }
            }
       }
   }
1
 Аватар для Namatrasnik
2 / 2 / 2
Регистрация: 29.10.2015
Сообщений: 269
28.10.2016, 17:34  [ТС]
mishau, тогда для работы с отдельными файлами кода должно выглядеть так ?
Функция:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
 
namespace name
{
    public class Natur_Chisla
    {
public int SumDigits(int n)
        {
            
            int sum = 0;
            while (n != 0)
            {
                sum += n % 10;
                n /= 10;
            }
            return sum;
        }
}
}
Структура:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
 
 
namespace name
{
    class Program
    {
        static void Main(string[] args)
        {
Natur_Chisla zad1 = new Natur_Chisla();
            Console.WriteLine("Введите числа N и M: ");
            int M = Int32.Parse(Console.ReadLine());
            int N = Int32.Parse(Console.ReadLine());
            for (int i = 1; i <= N; i++)
                {
 
                int sum = zad1.SumDigits(i);
                if (sum * sum == M)
                {
                    Console.WriteLine("Результат:  "+i);
                }
            }
Добавлено через 26 минут
* Второй файл - это основная программа
Но что-то таким образом не работает
0
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
28.10.2016, 21:51
Лучший ответ Сообщение было отмечено Namatrasnik как решение

Решение

А что именно не работает? Я вижу, не закрыты Main, Program и пространство имен name фигурными скобками.

И я бы сделал в первом скрипте public static, вместо просто public, а во втором

убрать Natur_Chisla zad1 = new Natur_Chisla();

и писать int sum = Natur_Chisla.SumDigits(i);

И вообще подчеркивание использовать в именах классов в C# - плохой тон. Переименовать хотя бы так: NaturChisla
1
 Аватар для Namatrasnik
2 / 2 / 2
Регистрация: 29.10.2015
Сообщений: 269
28.10.2016, 22:09  [ТС]
mishau, Спасибо большое. Разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2016, 22:09
Помогаю со студенческими работами здесь

Даны натуральные числа n, m. Найти все натуральные числа меньшие n, квадрат суммы цифр которых равен m
Даны натуральные числа n, m. Найти все натуральные числа меньшие n, квадрат суммы цифр которых равен m

Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m
Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m Решите на С++.Буду благодарна!

Найти все натуральные числа, меньше n, квадрат суммы цифр которых равен m
Помогите Даны натуральные числа n, m. найти все натуральные числа, меньше n, квадрат суммы цифр которых равен m. Добавлено через...

даны натуральные числа m и n, получить все натуральные числа меньшие n, квадрат суммы которых равен m
даны натуральные числа m и n, получить все натуральные числа меньшие n, квадрат суммы которых равен m,.

Даны натуральные числа m и n, получить все натуральные числа меньшие n, квадрат суммы которых равен m
помогите плиз Даны натуральные числа m и n, получить все натуральные числа меньшие n, квадрат суммы которых равен m


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru