Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
1

Сумма квадратов ;)

18.10.2013, 19:08. Показов 1682. Ответов 3
Метки нет (Все метки)

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

ВОПРОС: при вводе числа 26 программа верно выводит числа 1 и 5 и "Mozhno".
НО при вводе числа 27 она ничего не выводит.
ПОЖАЛУЙСТА, подскажите в чем ошибка. Желательно напишите в какой именно части кода. Спасибо.
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <math.h>
int main ()
{
int M, a, b, d;
printf ("n\ VVedine M \n");
scanf ("%d", &M);
d=0;
for (a=1; a<sqrt(M);a++)
  for (b=a; b<sqrt(M+1);b++)
    if (a*a+b*b==M)
printf ("Mozhno %d %d", a, b);
d=1;
 
if (d==0)
printf ("Nelzya");
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 19:08
Ответы с готовыми решениями:

Сумма четырех квадратов
Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов...

Сумма квадратов 3-х чисел
Дано натуральное N&lt;=1000. Найти все тройки натуральных чисел a, b ,c (a&lt;=b&lt;=c), удовлетворяющих...

сумма двух квадратов
Есть начальное и конечное число n i m нужно вывести все натуральные числа в входящие в диапазон от...

Сумма трех квадратов
Условие Дано натуральное число n. Укажите все тройки x, y, z таких натуральных чисел, что...

3
108 / 106 / 44
Регистрация: 04.10.2013
Сообщений: 231
18.10.2013, 19:12 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <math.h>
 
int main ()
{
    int M, a, b, d;
    printf ("n\ VVedine M \n");
    scanf ("%d", &M);
    d=0;
    for (a=1; a<sqrt((double)M);a++)
        for (b=a; b<sqrt((double)M+1);b++)
 
            if (a*a+b*b==M)
            {
                printf ("Mozhno %d %d", a, b);
                d=1;
            }
 
    if (d==0)
        printf ("Nelzya");
    return 0;
}
0
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
18.10.2013, 19:16 3
Цитата Сообщение от Beverly Посмотреть сообщение
if (a*a+b*b==M)
printf ("Mozhno %d %d", a, b);
d=1;
переменной d всегда присвается 1, поэтому условие d==0 не выполняется, здесь помогут фигурные скобки:
C++
1
2
3
4
5
if (a*a+b*b==M)
{
    printf ("Mozhno %d %d", a, b);
    d=1;
}
0
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
18.10.2013, 19:23  [ТС] 4
Огромное спасибо! Разобралась!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 19:23

Сумма трех квадратов. Ограничения?
Сумма трех квадратов. Дано натуральное число n. Можно ли представить его в виде суммы трех...

Сумма квадратов простых чисел
Посчитать сумму квадратов N первых простых чисел, где значение N задает пользователь

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

Сумма квадратов n первых простых чисел
Рассчитать сумму квадратов n первых простых чисел ,где n вводится с клавиатури. Dev C++/


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru