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

Найти среди данного набора чисел точные квадраты

19.06.2015, 10:06. Показов 3315. Ответов 4
Метки нет (Все метки)

Написать программу, выясняющую, есть ли среди данных 10 чисел точные квадраты. Если такие есть, то после ввода числа должно появляться сообщение «Точный квадрат».
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2015, 10:06
Ответы с готовыми решениями:

Вывести все точные квадраты натуральных чисел, не превосходящие данного числа N
Народ, помогите пожалуйста!. Вот задача: Выведите все точные квадраты натуральных чисел, не...

Выяснить, есть ли среди данных 10 чисел точные квадраты
8. Написать программу, выясняющую, есть ли среди данных 10 чисел точные квадраты. Если такие есть,...

Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16 25 36 49).
1. Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например,...

Определить, есть ли среди элементов матрицы точные квадраты
Создание программы обработки двумерных масивов Дано квадратную матрицу определить есть ли среди...

4
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
19.06.2015, 10:43 2
Лучший ответ Сообщение было отмечено Thu как решение

Решение

не знаю что вы подразумеваете под точным квадратом, наверное это число корень из которого целый

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
#include <math.h>
 
using namespace std;
 
int main()
{
    setlocale(0,"rus");
    int temp;
    cin >> temp;
    while (temp!=0)
    {
        if (sqrt(temp) == (int)(sqrt(temp)))
        {
            cout << "Точный квадрат\n";
        }
        cin >> temp;
    }
    return 0;
}
Добавлено через 1 минуту
а вот для 10и чисел, не заметил в начале, ввод оканчивался при вводе 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
#include <math.h>
 
using namespace std;
 
int main()
{
    setlocale(0,"rus");
    int temp;
    cin >> temp;
    for (int i = 1; i < 10;i++)
    {
        if (sqrt(temp) == (int)(sqrt(temp)))
        {
            cout << "Точный квадрат\n";
        }
        cin >> temp;
    }
    return 0;
}
1
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
19.06.2015, 10:46 3
Krock21rus, а зачем вам
C++
1
#include <fstream>
, если вы не используете в своей программе файловый ввод / вывод?
0
Модератор
Эксперт С++
12768 / 10226 / 6146
Регистрация: 18.12.2011
Сообщений: 27,378
19.06.2015, 10:51 4
Цитата Сообщение от Krock21rus Посмотреть сообщение
if (sqrt(temp) == (int)(sqrt(temp)))
плавающую арифметику лучше минимизировать
C++
1
2
3
int t=(int)sqrt(double(temp));
if(t*t==temp)
...
И даже в этом случае возможна ошибка из-за округления плавающих чисел.

Лучше использовать что-то типа (хотя, конечно, это не оптимально в отношении скорости вычислений):
C++
1
2
3
4
5
6
7
int CheckSqr(int k)
{
   for(int i=1;i*i<=k;i++)
          if(i*i==k)
             return i;
  return 0; 
}
2
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
19.06.2015, 12:45 5
Extrim88, забыл убрать с прошлой задачи
zss, спасибо, давно делал программу, придумал какое-то точное решение, да вот сейчас не вспомнил, спасибо что напомнили

Добавлено через 1 минуту
zss, можно и оставить за константное время:
C++
1
2
3
int t=(int)sqrt(double(temp));
if(t*t==temp || (t-1)*(t-1)==temp || (t+1)*(t+1)==temp)
...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2015, 12:45
Помогаю со студенческими работами здесь

Вводится последовательность целых чисел. Найти среди них “точные квадраты” (16,25 и т.д.) и подсчитать их количество.
Вводится последовательность целых чисел. Найти среди них “точные квадраты” (16,25 и т.д.) и...

Вывести все точные квадраты натуральных чисел, не превосходящие данного числа N
дано число N. Необходимо вывести все точные квадраты натуральных чисел, не превосходящие данного...

Дана последовательность n целых чисел, определить есть ли среди них точные квадраты и вывести их на экран
Здравствуйте, программисты! Не могли бы вы помочь с решением задачи? Я пытался её написать, но...

Дана последовательность целых чисел. Определить, есть ли среди них точные квадраты и вывести их на экран
Дана последовательность целых чисел А1,...,А100. Определить, есть ли среди них точные квадраты и...


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

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

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