Форум программистов, компьютерный форум, киберфорум
Наши страницы

для людей понимающих в циклах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необходимо чтобы функция new добавляла к строке 3 знака восклицания http://www.cyberforum.ru/cpp-beginners/thread245027.html
Всем привет! Необходимо чтобы функция new добавляла к строке 3 знака восклицания. Так как расширить старый массив мы не можем, нужно создать новый и присвоить адрес нового массива старому. Я написал...
C++ динамический массив строк Вот такое дело есть а как зделать так чтобы я мог ввести то количество строк что я хочю ? а не 3. Тоесть сделать динамический массив строк. #include <iostream> #include <conio.h> using... http://www.cyberforum.ru/cpp-beginners/thread245026.html
C++ Установить, является ли одно множество подмножеством другого
помогите пожалуста))) 1)Создать множества А,В,С- псевдослучайных чисел из натурального ряда; 2)Поэлементно сравнивая множества: - установить, яляется ли одно множество подмножеством другого...
C++ Почему создаются новые объекты?
Всем доброго времени суток! Я не могу понять где создаются новые объекты Есть у меня простенький класс class data { char* str; public: data(): str("Hi") {} data(char* ch): str(ch)
C++ Как нарисовать http://www.cyberforum.ru/cpp-beginners/thread245002.html
Необходимо с помощью кода нарисовать 5 квадратов, расположенные друг за другом (это будут кабинеты), а в каждом квадрате написать допустим номер кабинета или какие процедуры там проводят. Затем около...
C++ Наследование Используя механизм наследования реализовать иерархию: фигура->круг ..........->треугольник ..........->квадрат (все стрелки отходят... подробнее

Показать сообщение отдельно
mexxantom
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 47

для людей понимающих в циклах - C++

19.02.2011, 02:35. Просмотров 459. Ответов 2
Метки (Все метки)

есть задача и код на паскале (тока он какой та левый) помогите нужен код на си/си++ или хотя бы алгоритм решения! зарание спасибо

Составить программу-генератор чисел Пифагора a, b, c (c^2 = a^2 + b^2). В основу положить формулы: a = m^2 – n^2, b = 2mn, c = m^2 + n^2 (m, n – натуральные, 1 < m < k, 1 < n < k, k – данное число). Результат вывести на экран в виде таблицы из пяти столбцов: m, n, a, b, c.


Код:

Pascal
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
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
 
Сonst k=100000;
 
var i, j:integer;
b, a, c:Int64;
 
begin
for i:=1 to k do
for j:=i to k do//for j:=1 to k do
begin
a:=(i*i)-(j*j);
b:=2*i*j;
c:=(i*i) + (j*j);
if (a*a=((b*b)+(c*c))){and(a>0)and(b>0)and(c>0)} then
begin
writeln('m=', i, ', n=', j, ', A=', a, ', B=', b, ', C=', c, ' ', a, '^2=', b, '^2+', c, '^2');
end;
end;
writeln('Complite');
readln;
end.
для k меньше 10000 ни нашлось ни чего. а для 100000 уж больно долго считал, но коечто нашел. Еще обрати внимание на закоментированную часть в условии

for j:=i to k do//for j:=1 to k do
поясню: если нам все равно m=1 и n=2 или m=2 и n=1 (и втом и в другом случае результат для вычисления a,b,c одинаковый), используем первый вариант, если разница есть (a=m^n и т.п.) то второй. Первый работает быстрее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.