Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
studlife
0 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 53
#1

Сумма квадратов 3-х чисел - C++

26.05.2014, 18:38. Просмотров 308. Ответов 4
Метки нет (Все метки)

Дано натуральное N<=1000. Найти все тройки натуральных чисел a, b ,c (a<=b<=c), удовлетворяющих условию a^2+b^2+c^2 = N
Помогите, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма квадратов 3-х чисел (C++):

сумма квадратов трех чисел - C++
Проверить, является ли введенное пользователем число n равным сумме квадратов трех чисел (числа разные)

Сумма делителей квадратов удвоенных чисел - C++
Даны два целых числа a,b. Составить программу вычисления суммы делителей квадратов удвоенных чисел из диапазона

Сумма двух квадратов натуральных чисел - C++
Всем Hello, помогите допилить задачу, суть проблемы слишком много времени выполнения кода при большом числе. На вход в программе...

Задание на функции - сумма квадратов чисел - C++
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму...

Спасайте х( Простое задание на функции, сумма квадратов чисел - C++
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму...

Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13 - C++
2.Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
28.05.2014, 16:55 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <math.h>
using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian"); 
    int a, b, c, n, n1;
    cout<<"введите число\n";
    cin>>n;
    if (n>1000) return;
    cout<<"тройки чисел, сумма квадратов которых равна "<<n<<"\n";
    n1=sqrt(n);
    for (a=1; a<=n1; a++)
        for (b=a; b<=n1; b++)
            for (c=b; c<n1; c++)
                if (a*a+b*b+c*c==n) 
                    cout<<a<<" "<<b<<" "<<c<<"\n";
}
grikukan
61 / 61 / 21
Регистрация: 23.09.2012
Сообщений: 212
28.05.2014, 17:07 #3
Ну на самом деле это можно еще чуть-чуть ускорить, так как c явно выражается через n, a и b
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
    long n;
    cin>>n;
    for(int a=1;a<=(int)sqrt(n);a++)
    {
        for(int b=1;b<=(int)sqrt(n);b++)
        {
            int c=n-a*a-b*b;
            if(sqrt(c)==(int)sqrt(c) && c!=0) //проверим, что c - полный квадрат
            {
                cout<<a<<' '<<b<<' '<<sqrt(c)<<endl;
            }
 
        }
    }
}
Вот это работает за честную линию от n.
studlife
0 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 53
28.05.2014, 21:46  [ТС] #4
grikukan, есть еще вопрос: почему visual studio выдает ошибку на функцию sqrt?
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
29.05.2014, 00:28 #5
какой код ошибки?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2014, 00:28
Привет! Вот еще темы с ответами:

Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13 - C++
Не знаю как дописать основную часть программы #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;fstream&gt; using namespace std; int...

Найти все тройки чисел, сумма квадратов которых даёт заданное натуральное число - C++
Дано натуральное число n. Укажите все тройки x, y, z таких натуральных чисел, что x2+y2+z2=n.

Дан массив целых чисел. Верно ли, что сумма квадратов элементов массива есть пятизначное число - C++
дан массив целых чисел. Верно ли, что сумма квадратов элементов массива есть пятизначное число.

Сумма квадратов ;) - C++
Можно ли заданное натуральное число М представить в виде суммы двух квадратов натуральных чисел? Написать программу решения этой задачи....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.05.2014, 00:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru