Треугольник Пифагора - PullRequest
       1

Треугольник Пифагора

1 голос
/ 24 декабря 2010

Я хотел бы спросить вас об этой части программирования, все в порядке?задача заключалась в следующем: написать псевдокод или блок-схему и код для теоремы Пифагора - для прямоугольного треугольника с тремя ребрами (a, b и c) типа integer

int KendiA = 0;
int KendiB = 0;
int H = 0;
string Trekendeshi = null;
int gjetja = 0;

for (KendiA = 1; KendiA <= 15; KendiA++)
{
    for (KendiB = 1; KendiB <= 15; KendiB++)
    {
        for (H = 1; H <= 30; H++)
        {
            if ((Math.Pow(KendiA, 2) + Math.Pow(KendiB, 2) == Math.Pow(H, 2)))
            {
                gjetja = gjetja + 1;
                Trekendeshi = gjetja + "\t" + KendiA + "\t" + KendiB + "\t" + H;
                Console.WriteLine(Trekendeshi);
            }
        }
    }
} 

Ответы [ 2 ]

2 голосов
/ 24 декабря 2010

Гораздо проще найти пифагорейские тройки, чем перебирать каждый набор из трех. Взгляните, например, на http://en.wikipedia.org/wiki/Formulas_for_generating_Pythagorean_triples.

Кроме того, лучше заключить в квадрат целые числа, умножив их на себя, а не используя pow (i, 2).

1 голос
/ 24 декабря 2010

Ваш код работает хорошо, но печатает повторные. Граф КендиБ из КендиА решает вашу проблему

for (KendiA = 1; KendiA <= 15; KendiA++){
       for (KendiB = KendiA; KendiB <= 15; KendiB++){

Вот самый простой способ

for(int i=2; i<10; i++){
   int a = 2*i;
   int b = i*i-1;
   int c = i*i+1;
   System.out.println(a + "  " + b + "  "  + c);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...