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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
Evg70RUS
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 2
10.09.2013, 07:30     Число в виде суммы квадратов натуральных чисел #1
Дано натуральное число. Составить программу, которая представит данное число в виде суммы квадратов натуральных чисел, содержащей минимальное число слагаемых, например:
9=32(3 в квадрате)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 07:30     Число в виде суммы квадратов натуральных чисел
Посмотрите здесь:

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел C++
C++ Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел?
Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? C++
C++ Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
was3110
 Аватар для was3110
1 / 1 / 0
Регистрация: 29.03.2012
Сообщений: 12
10.09.2013, 14:38     Число в виде суммы квадратов натуральных чисел #2
А 15=4^2 - 1^2 ? Тогда
В цикле находите цисло, чей квадрат превышает заданное число, а затем отнимайте квадраты (убывающий вложенный цикл), чтобы разность не стала меньше заданного числа. Любое число можно получить вычитая 1^2 (единицы) из числа больше заданного...
zer0mail
2182 / 1865 / 187
Регистрация: 03.07.2012
Сообщений: 6,628
Записей в блоге: 1
10.09.2013, 19:05     Число в виде суммы квадратов натуральных чисел #3
Цитата Сообщение от was3110 Посмотреть сообщение
А 15=4^2 - 1^2 ? Тогда
В цикле находите цисло, чей квадрат превышает заданное число, а затем отнимайте квадраты (убывающий вложенный цикл), чтобы разность не стала меньше заданного числа. Любое число можно получить вычитая 1^2 (единицы) из числа больше заданного...
1. 15=4^2 - 1^2 - это разность квадратов, а в условии сумма
was3110
 Аватар для was3110
1 / 1 / 0
Регистрация: 29.03.2012
Сообщений: 12
10.09.2013, 21:55     Число в виде суммы квадратов натуральных чисел #4
Да, условие не понятное. Можно считать разность, как сумму, где одно из слагаемых имеет знак "минус"...
Мы же не об арифметике говорим...
Хотя, может быть zer0mail прав.
Переделал, можете скачать проект (вместе с ехе-файлом)
http://orenstudent.ru/upragCpp.htm
Верхнее задание... Разложение натурального числа на сумму квадратов натуральных чисел.
zer0mail
2182 / 1865 / 187
Регистрация: 03.07.2012
Сообщений: 6,628
Записей в блоге: 1
10.09.2013, 22:28     Число в виде суммы квадратов натуральных чисел #5
И что она выведет для n=41 (и что требуется вывести)?
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
11.09.2013, 06:00     Число в виде суммы квадратов натуральных чисел #6
я все же предположу, что это задача на динамику.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 16:49     Число в виде суммы квадратов натуральных чисел
Еще ссылки по теме:

Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел C++
Найти все натуральные числа, представимые в виде суммы квадратов трёх натуральных чисел C++
Найти числа, которые представимы в виде суммы квадратов двух натуральных чисел C++

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

Или воспользуйтесь поиском по форуму:
Evg70RUS
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 2
12.09.2013, 16:49  [ТС]     Число в виде суммы квадратов натуральных чисел #7
Теперь нужна помощь расписать алгоритм:

C++
1
2
3
4
5
6
7
8
9
10
11
12
int N, sum=0;
cout << "Enter N = " ;
cin >> N;
cout << endl << N ;
for(int i=N-1;i>0;--i)
        while(sum + i*i <= N){
          if(sum>0) cout << " + ";
          else   cout << " = ";
 
          sum+=i*i;
          cout << i << "*" << i ;
        }
Yandex
Объявления
12.09.2013, 16:49     Число в виде суммы квадратов натуральных чисел
Ответ Создать тему
Опции темы

Текущее время: 16:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru