0 / 0 / 1
Регистрация: 04.10.2014
Сообщений: 20
1

Определить процедуру, позволяющую распознавать полные квадраты

18.11.2014, 16:25. Показов 1800. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано натуральное число n. Среди чисел 1,2,...,n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. (Определить процедуру, позволяющую распознавать полные квадраты).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2014, 16:25
Ответы с готовыми решениями:

Определить функцию, позволяющую распознавать полные квадраты
Даны натуральное число n и целые числа a1, a2, ..., an. Найти количество чисел ai ( i 1, 2, ...,...

Дано натуральное число n. Выяснить, является ли оно полным квадратом.Определить функ-цию, позволяющую распознавать полные квадраты
Вот пока что сделал, дальше домозговать не могу. #include "stdafx.h" #include "math.h" #include...

Определить процедуру, позволяющую распознавать простые числа
Дано четное число n>2; проверить для этого числа гипотенузу Гольдбаха. Эта гипотенуза заключается в...

Функция, позволяющая распознавать полные квадраты
Пожалуйста, помогите решить задачу на С++. Даны натуральное число n и целые числа a1, a2, a3,...

1
343 / 343 / 331
Регистрация: 02.10.2014
Сообщений: 666
18.11.2014, 17:19 2
Лучший ответ Сообщение было отмечено kyparyt как решение

Решение

Код на С++
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cmath>
 
using namespace std;
 
int square(int n){
    
    if (n == 1)
        return 1;
    
    int flag = 0;
    for (int i = 2; i < n;)
        if (n % i == 0){
            flag = 1;
            if ((n / i) % i == 0)
                n /= (i * i);
            else
                return 0;
        }else
            ++i;
    
    if (flag == 1)
        return 1;
    else
        return 0;       
}
 
int main(){
   
   int n;
   cout << "n = ";cin >> n;
   
   for (int i = 0; i < n; ++i){
    int a;
        cout << "×èñëî: "; cin >> a;
        for (int k = 1; k <= a / 2; ++k)
            if (square(a - k * k) == 1){
                cout << "-------------------" << endl;
                cout << a << " = " << k << "^2 + " 
                      << (int)sqrt(a - k * k) << "^2" << endl;              
                break;
            }
    }
}

Из-за корня могут быть проблемы, лучше убрать
0
18.11.2014, 17:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2014, 17:19
Помогаю со студенческими работами здесь

Даны три квадратных уравнения (ax^2+bx+c=0 , bx^2+ax+c=0 , cx^2+ax+b=0). Определить процедуру, позволяющую распознавать наличие вещественных корней в
Даны три квадратных уравнения (ax^2+bx+c=0 , bx^2+ax+c=0 , cx^2+ax+b=0). Определить процедуру,...

Определить функцию позволяющую распознавать степени пятерки
Помогите пожалуйста с задачкой, так как пока что только учусь C++. Звучит так: Дано натуральное...

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении
Даны три квадратных уравнения ах^2 + bх + с = 0, bх^2 + ах + с = 0, сх^2 + ах + b = 0. Сколько...

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении
Даны три квадратных уравнения ax^2+bx+с, bx^2+ax+с, cx^2+ax+b. Сколько из них имеют вещественные...


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

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

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