Дано натуральное число n. Можно ли представить в виде суммы квадратов трех натуральных чисел? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Задача:
Дано натуральное число n. Можно ли представить в виде суммы квадратов трех
натуральных чисел? Если можно, то вывести на экран такие тройки x, y и z натуральных чисел. Решения, которые получаются перестановкой x, y и z, считать совпадающими.
Решение:
using System;
 
namespace Test1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите число N");
            int n = Convert.ToInt32(Console.ReadLine());
            
            int x = 0, y = 0, z = 0;
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    for (int k = 0; k < n; k++)
                        if (n == (i * i + j * j + k * k))
                        {
                            x = i; y = j; z = k;
                            Console.WriteLine("{0} {1} {2}",x,y,z);
                        }
            
        }
    }
}
Вопрос: а как проверить теперь, совпадает ли решение, если цифры переставить? Т.е. учесть эту часть задачи "Решения, которые получаются перестановкой x, y и z, считать совпадающими." Огромное спасибо

Решение задачи: «Дано натуральное число n. Можно ли представить в виде суммы квадратов трех натуральных чисел?»

textual
Листинг программы
int p = n/3;
for (int i = 0; i < p; i++)
for (int j = p; j < 2*p; j++)
for (int k = 2*p; k < n; k++)
if (n == (i * i + j * j + k * k))
{
x = i; y = j; z = k;
Console.WriteLine("{0} {1} {2}",x,y,z);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5
Похожие ответы