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

Определить количество серий, состоящих из квадратов натуральных чисел - C++

Восстановить пароль Регистрация
 
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 00:56     Определить количество серий, состоящих из квадратов натуральных чисел #1
В целочисленном массиве определить количество серий, состоящих из квадратов натуральных чисел.
Что такое натуральное число - понятно, квадрат - тоже, а вот количество серий - ...
Как понять количество серий? Разъясните пожалуйста как можно проще, желательно с примером)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2012, 00:56     Определить количество серий, состоящих из квадратов натуральных чисел
Посмотрите здесь:

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел C++
C++ В массиве натуральных чисел определить хотя бы один элемент, представимый в виде суммы квадратов двух других элементов этого массива
Определить количество натуральных чисел, не превышающих n, которые не делятся нацело на 7 C++
Определить количество элементов последовательности натуральных чисел, кратных числу м и заключенных В промежутке от l до n C++
Определить количество последовательности натуральных чисел кратных числу М и заключенных в промежутке от L до N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
18.03.2012, 01:20     Определить количество серий, состоящих из квадратов натуральных чисел #2
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
количество серий
ну наверно количество последовательно идущих квадратов!

например дан массив:

2 3 4 16 64 3 9 4 5

в нем две серии (выделены жирным)
1) 4 = 2 * 2, 16 = 4 * 4, 64 = 8 * 8
2) 9 = 3 * 3, 4 = 2 * 2

Я так понимаю!
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 01:23  [ТС]     Определить количество серий, состоящих из квадратов натуральных чисел #3
Infinity3000, ну тогда в нем не 2 серии, а 5 получается! Если по твоему примеру, так?
и почему именно последовательных? может просто квадратов?
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
18.03.2012, 01:24     Определить количество серий, состоящих из квадратов натуральных чисел #4
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
а 5 получается
почему пять????

первая серия 4 16 64
вторая серия 9 4
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 01:30  [ТС]     Определить количество серий, состоящих из квадратов натуральных чисел #5
Infinity3000, ну так в условии нечего не сказано про последовательность.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
18.03.2012, 01:31     Определить количество серий, состоящих из квадратов натуральных чисел #6
В моем смысле серия == последовательность!

Я выразил свои мысли, может кто то иначе думает!
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 01:40  [ТС]     Определить количество серий, состоящих из квадратов натуральных чисел #7
Цитата Сообщение от Infinity3000 Посмотреть сообщение
В моем смысле серия == последовательность!

Я выразил свои мысли, может кто то иначе думает!
Ну будем ждать, может еще кто-то поделится своими мыслями, но все же спасибо, если никто не откликнется, то буду делать по твоему!
Kidasov
76 / 76 / 12
Регистрация: 02.12.2011
Сообщений: 966
Записей в блоге: 3
18.03.2012, 02:04     Определить количество серий, состоящих из квадратов натуральных чисел #8
Серия == последовательность, как говорилось выше.

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
45
46
47
48
#include <iostream>
#include <cmath>
using namespace std;
 
//Ввод массива с клавиатуры
void input(double *a, int length) {
  cout<<"Input data"<<endl;
  for (int i = 0; i < length; i++) {
    cin>>a[i];
  }
}
 
//Вывод массивы с клавиатуры
void output(double *a, int length) {
  cout<<"Output data"<<endl;
  for (int i = 0; i < length; i++) {
    cout<<a[i]<<" ";
  }
}
 
//Находим количество серий в массиве. За серию примем последовательные идущие квадраты натуральных чисел
//Например int a[10] = { 1, 4, 16, 3, 64, 196, 2, 0, 1, 64 };  Серия 1 = { 1, 4, 16 }; Серия2 = { 64, 196 }; Серия3 = { 1, 64 }
void findSeria(double *a, int length) {
  int maxSeria = 0;
  int begin = 0, end = 0;
  int buf;
  cout<<endl;
  for (int i = 0; i < length; i++) {
    buf = static_cast<int>(sqrt(a[i])); 
    if (buf * buf == a[i] && a[i] != 0) {
      cout<<a[i]<<" ";
      begin = 0;
      end += 1;
    }
    else if (end - begin > 1) { maxSeria += 1; end = 0; cout<<endl; }
  }
  if (end - begin > 1) maxSeria += 1;
  cout<<"MaxSeria = "<<maxSeria<<endl;
}
 
int main() {
  const int LENGTH = 10;
  double a[LENGTH];
  input(a, LENGTH);
  output(a, LENGTH);
  findSeria(a, LENGTH);
  return 0;
}
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 02:07  [ТС]     Определить количество серий, состоящих из квадратов натуральных чисел #9
Kidasov, слишком сложно как то(
Kidasov
76 / 76 / 12
Регистрация: 02.12.2011
Сообщений: 966
Записей в блоге: 3
18.03.2012, 02:14     Определить количество серий, состоящих из квадратов натуральных чисел #10
XaJlop4ik, что тебе непонятно?) Можно конкретнее. По мне довольно просто.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2012, 02:41     Определить количество серий, состоящих из квадратов натуральных чисел
Еще ссылки по теме:

Дан массив из N натуральных чисел. Определить количество степеней пятёрки C++
Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел C++
Определить количество чисел, имеющих ровно пять делителей, среди первого миллиона натуральных чисел C++

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

Или воспользуйтесь поиском по форуму:
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 02:41  [ТС]     Определить количество серий, состоящих из квадратов натуральных чисел #11
Kidasov,
C++
1
 if (buf * buf == a[i] && a[i] != 0)
зачем?
C++
1
 if (end - begin > 1)
что это?
Yandex
Объявления
18.03.2012, 02:41     Определить количество серий, состоящих из квадратов натуральных чисел
Ответ Создать тему
Опции темы

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