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

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

Войти
Регистрация
Восстановить пароль
 
Логик
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 16
#1

Натуральное число n представить в виде суммы трех полных квадратов - C++

13.03.2014, 20:53. Просмотров 878. Ответов 6
Метки нет (Все метки)

Логической переменной t присвоить значение true или false, в зависимости от того, можно или нет натуральное число n представить в виде суммы трех полных квадратов. За помощь отблагодарю быстро.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2014, 20:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Натуральное число n представить в виде суммы трех полных квадратов (C++):

Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? - C++
Подскажите как правильно составить программу к этим задачам: 1.Дано натуральное число n. Можно ли представить его в виде суммы трех...

Определить, можно ли число представить в виде суммы квадратов трех натуральных чисел - C++
Дано натуральные число n . Можно ли представить его в виде суммы трех квадратов натуральных чисел? Если можно то, а) указать тройку x,y,z...

Выяснить, можно ли представить данное число в виде суммы трех квадратов натуральных чисел - C++
Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? Если можно, то указать тройку x, y, z...

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

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел - C++
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. - C++
Собственно само задание. 5). Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы...

6
StailGot
28 / 23 / 6
Регистрация: 25.08.2013
Сообщений: 41
15.03.2014, 02:35 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main()
{
  const size_t n = 22;
 
  const bool t =
    []( const size_t n )
  {
    const size_t sqrt_n = static_cast<size_t>( ::sqrt(n) );
    if ( n > 2 )
      for ( size_t i = 1; i < sqrt_n; i++ )
      for ( size_t j = 1; j < sqrt_n; j++ )
      for ( size_t k = 1; k < sqrt_n; k++ )
        if ( (i * i + j * j + k * k ) == n )
          return true;
    return false;
  } ( n );
 
  cout << boolalpha << t << endl;
}
1
Логик
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 16
15.03.2014, 11:13  [ТС] #3
Цитата Сообщение от StailGot Посмотреть сообщение
{
12 и 13 строки - выдает ошибку, поэтому прога не работает. Прошу подкорректировать и финансово....
0
kylroma
Одессит
204 / 75 / 23
Регистрация: 30.12.2013
Сообщений: 274
Записей в блоге: 1
Завершенные тесты: 2
15.03.2014, 16:50 #4
Прога работает. Проверял в Dev_c++
0
mymedia
192 / 192 / 48
Регистрация: 27.05.2011
Сообщений: 544
15.03.2014, 17:23 #5
Логик, у StailGot версия С++11. В вашем компиляторе нужно включить соответствующий режим или переписать программу так, чтобы не использовать лямбда функции.
Например так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cmath>
#include <iostream>
 
bool is_square(const int n)
{
    const int sqrt_n = std::sqrt(n);
    if ( n > 2 )
      for ( int i = 1; i < sqrt_n; i++ )
      for ( int j = 1; j < sqrt_n; j++ )
      for ( int k = 1; k < sqrt_n; k++ )
        if ( (i * i + j * j + k * k ) == n )
          return true;
    return false;
}
int main()
{
  const size_t n = 22;
 
  const bool t = is_square ( n );
  
  using namespace std;
  cout << boolalpha << t << endl;
}


StailGot, мне кажется, это что-то не то. У тебя n - сумма трёх квадратов натуральных чисел, а понятие "полный кавдрат" применимо к двум числам. Я имею ввиду квадрат суммы (разности) http://www.cyberforum.ru/cgi-bin/latex.cgi?{\left(a + b \right)}^2 = a^2 + 2ab + b^2. Или я что-то путаю. А как ещё понимать?
Цитата Сообщение от Логик Посмотреть сообщение
натуральное число n представить в виде суммы трех полных квадратов
0
Логик
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 16
15.03.2014, 20:33  [ТС] #6
Кто-нибудь в курсе как составить Flow-формы и диаграммы Насси-Шнейдермана по этой проге?
0
StailGot
28 / 23 / 6
Регистрация: 25.08.2013
Сообщений: 41
16.03.2014, 14:22 #7
mymedia, полным квадратом еще называют
число, являющееся квадратом некоторого целого числа
так же используют термин точный квадрат
1
16.03.2014, 14:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 14:22
Привет! Вот еще темы с ответами:

Определить, можно ли заданное число представить в виде суммы двух квадратов - C++
Задачка: можно ли заданное число представить в виде суммы двух квадратов. Решил вот так: #include &lt;math.h&gt; #include &lt;iostream&gt; ...

Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел - C++
Дано натуральное число n.Определить,можно ли представить его в виде суммы двух квадратов натуральных чисел.Если да,то найти все пары x,y...

Определить, можно ли представить число N в виде суммы кубов трех натуральных чисел - C++
Определить можно ли представить заданное натуральное число N как сумму кубов каких-нибудь трех натуральных чисел n, m, k. ...

Вывести наименьшее натуральное число, которое можно представить двумя разными способами в виде суммы кубов двух натуральных чисел - C++
Помогите пожалуйста, я не знаю в чём дело, почему она выдаёт такое количество значений. #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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