Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Найти количество слов палиндромов, начинающихся на букву 'а' http://www.cyberforum.ru/c-beginners/thread759528.html
Добрый день! Задание: в данной строке соседние слова разделены запятыми. Определить количество слов-палиндромов, которые начинаются с буквы а”. Программа не работает. Большая просьба указать на...
Запись и чтение из файла C (СИ)
Наверное глупый вопрос, но пожалуйста, подскажите как правильно считывать из файла, если в файле хранятся значения разных переменных и необходимо считать значение опреденной переменной? #include...
К какой плоскости относятся точки и как они направлены C (СИ)
Очень нужна помощь в решении данной задачи, а то я совсем запутался в условиях. Плоскость xOy разделена на четыре области, обозначенные буквами A, B, C, D. Способ деления определяется вариантом...
C (СИ) Вычислить значение выражения не могу написать, если сможете помогите http://www.cyberforum.ru/c-beginners/thread759426.html
C (СИ) Определить, превышает ли количество отрицательных чисел в последовательности заданное число http://www.cyberforum.ru/c-beginners/thread759326.html
Даны натуральное число n и целые числа a1,a2, ..., an. Выяснить , верно ли, что количество отрицательных чисел ai превышает x. Help me plz )
Найти натуральное число из интервала от a до b , у которого количество делителей максимально C (СИ)
Вообщем , задача такая... Найти натуральное число из интервала от a до b , у которого количество делителей максимально. Если таких чисел несколько, то должно быть найдено максимальное из них. ...
C (СИ) Найти и распечатать слова, начинающиеся и заканчивающиеся на одинаковую букву
дана строка(вводится с клавиатуры), в которой слова разделены точкой с запятой. нужно найти и вывести слова начинающиеся и заканчивающиеся на одинаковую букву
C (СИ) В строке символов определить слова, которые начинаются и заканчиваются на буквы, значения которых вводят из клавиатуры Знаю, что никто из вас не обязан мне помогать, но все же надеюсь, что найдется добрая душа. Нужно написать такую программу на С. В строке символов определить слова, которые начинаются и... http://www.cyberforum.ru/c-beginners/thread759165.html
C (СИ) Корень в обратном порядке http://www.cyberforum.ru/c-beginners/thread759091.html
Не могу отследить ошибки. Казалось бы, все верно, но электронный судья выдает "выход за пределы массива". Задание: Исходные данные Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 10^18),...
C (СИ) Автоматическое добавление расширение файла к вводимому имени Подскажите, пожалуйста, как сделать так, чтобы в программе при запуске пользователь вводиил только имя файла а расширение к нему добавляла программа? Нужен сам код вот этой части http://www.cyberforum.ru/c-beginners/thread759069.html
asidorchenko
385 / 211 / 102
Регистрация: 09.04.2012
Сообщений: 635
13.01.2013, 15:41 0

Рассмотреть отрезки, идущих подряд членов последовательности, состоящие из полных квадратов. Получить наибольшую из длин рассматриваемых отрезков

13.01.2013, 15:41. Просмотров 821. Ответов 1
Метки (Все метки)

Ответ

(ceil(t) == floor(t)) это условие того, что полный квадрат.

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <math.h>
#include <malloc.h>
 
int check(int m, int* a)
{
 float t; int b, j, len,  start_pos,  kv,  max_len, max_start_pos;
 // start_pos - позиция с которой начинается полный квадрат
 // len - длина последовательности, состоящей из полных квадратов
 // max_len - максимальная длина последовательности, состоящей из полных квадратов
 // start_pos - позиция с которой начинается максимальная последовательность, состоящей из полных квадратов
 len = -1; start_pos = -1; max_len = -1; max_start_pos = -1; kv = 0; 
 for(j =0; j<m;j++)
 {
  t = sqrt(a[j]);
  if ( (ceil(t) == floor(t))  && kv == 0)
  {
    start_pos = j; len = 1; kv = 1;
  }
  else if ((ceil(t) == floor(t)) && kv == 1)
  {
   len++;    
  }
  else if (kv==1)
  {
   kv = 0;
   if (len != 0)  
   {
     if (len >  max_len)
     {
       max_len = len;
       max_start_pos = start_pos;
     }
   }
  }
 } // end for
 //
 if (kv==1)
  {
   kv = 0;
   if (len != 0)  
   {
     if (len >  max_len)
     {
       max_len = len;
       max_start_pos = start_pos;
     }
   }
  }
 printf("%d %d\n", max_len, max_start_pos);
 return max_len;
}
 
int main()
{
 int j;
 int m;
 int* a;
 
 printf("m: ");
 scanf("%d", &m);
 
 // aj, j = 1..m 
 a = (int*) malloc(m*sizeof(int));
 
 printf("a: ");
 for(j=0;j<m;j++) 
  scanf("%d", &(a[j]) );
 
 check(m,a);
 
 free(a); 
 return 0;
}


Вернуться к обсуждению:
Рассмотреть отрезки, идущих подряд членов последовательности, состоящие из полных квадратов. Получить наибольшую из длин рассматриваемых отрезков
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 15:41
Готовые ответы и решения:

Рассмотреть отрезки последовательности, состоящие из полных квадратов
Рассмотреть отрезки последовательности, состоящие из полных квадратов. получить наибольшую из длин...

Рассмотреть отрезки последовательности, которые состоят из полных квадратов
Задано натуральное n, целые числа a1,a2,...,an. Рассмотреть отрезки последовательности a1,a2,...,an...

Получить наибольшую из длин отрезков последовательности, удовлетворяющих заданному условию
Доброго времени суток) Пожалуйста, помогите с задачей. Задано натуральное n, целые числа...

Получить наибольшую из длин рассматриваемых отрезков последовательности
Даны натуральное число n, целые числа a1,...,an. Рассмотреть отрезки последовательности a1,...,an...

Получить наибольшую из длин рассматриваемых отрезков
Дано натуральные число n, целые числа a1,...an. Рассмотреть отрезки последовательности a1,...an...

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.