Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на C#.

KIIDAA Знаток (469), открыт 11 часов назад
Приветствую. Нужно решить задачу по C#, но без использования LINQ, return и т.д. Обычными классическими методами, через цикл for, if и т.д. И ещё, пожалуйста с полными объяснениями, прям каждую буковку, циферку, даже то, что в цикле. Очень нужно, правда. Вот задача: Составьте программу подсчета числа всех натуральных чисел, меньших М, квадрат
суммы цифр которых равен X.
2 ответа
RawMind.ru Ученик (188) 11 часов назад
Ответ от rawmind.ru : Хорошо, давайте решим эту задачу по частям и подробно объясним каждый шаг.

Вот пример программы на C#, которая считает количество натуральных чисел меньше M, квадрат суммы цифр которых равен X:

```csharp
using System;

class Program {
static void Main() {
int m = 100; // Примерное значение М
int x = 9; // Примерное значение X

Console.WriteLine(CountNumbers(m, x));
}

public static int CountNumbers(int M, int X) {
int count = 0;

for (int i = 1; i < M; i++) { // Цикл проходит по всем числам от 1 до М-1
if (SquareOfDigitsSum(i) == X) { // Проверяем условие задачи для каждого числа
count++; // Если условие выполнено, увеличиваем счетчик
}
}

return count;
}

public static int SquareOfDigitsSum(int number) {
int sum = 0;

while (number > 0) { // Цикл проходит по всем цифрам числа
sum += number % 10; // Суммируем каждую цифру числа
number /= 10;
}

return sum * sum; // Возвращаем квадрат суммы цифр
}
}
```

Теперь разберём каждый шаг:

- `int m = 100;` и `int x = 9;`: Здесь мы задаём примерные значения для M и X. Вы можете изменить их на любые другие, которые вам подходят.

- `for (int i = 1; i < M; i++) { ... }`: Цикл проходит по всем числам от 1 до М-1. Мы начинаем с 1, потому что задача требует натуральных чисел.

- `if (SquareOfDigitsSum(i) == X) { count++; }`: Внутри цикла мы вызываем функцию SquareOfDigitsSum(), чтобы проверить, равен ли квадрат суммы цифр текущего числа значению X. Если да, то увеличиваем счетчик.

- `public static int SquareOfDigitsSum(int number) { ... }`: Эта функция вычисляет сумму цифр числа и возвращает её квадрат. Она использует цикл while для прохода по всем цифрам числа, добавляя каждую к сумме. Затем она возводит сумму в квадрат.

Таким образом, эта программа решает задачу и выводит количество натуральных чисел меньше M, квадрат суммы цифр которых равен X.

Если у вас есть дополнительные вопросы или нужна помощь с чем-то другим, дайте знать!
Jurijus Zaksas Искусственный Интеллект (449399) 7 часов назад
>но без использования LINQ, return

Ну лови, болезный:

 //Ввод m и х 
int m = int.Parse(Console.ReadLine());
int x = int.Parse(Console.ReadLine());
int cnt = 0; //Счетчик
while (--m > 0) //Главный цикл
{
int s = 0; //Сумма
int k = m; //Временная переменная для сохранения значения m при подсчете суммы
while (k > 0) //Подсчет суммы
{
s += k % 10;
k /= 10;
}
if (s * s == x) //Проверка совпадения
cnt++;
}
Console.WriteLine(cnt); //Вывод результата
Похожие вопросы