Дано натуральное число n. Можно ли представить в виде суммы квадратов трех натуральных чисел? - C#
Формулировка задачи:
Здравствуйте.
Задача:
Решение:
Вопрос: а как проверить теперь, совпадает ли решение, если цифры переставить? Т.е. учесть эту часть задачи "Решения, которые получаются перестановкой x, y и z, считать совпадающими."
Огромное спасибо
Листинг программы
- Дано натуральное число 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);
- }
- }
- }
- }
Решение задачи: «Дано натуральное число 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д