Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Max00766
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 246
1

Рассмотреть отрезки последовательности, которые состоят из полных квадратов

19.11.2015, 00:46. Просмотров 470. Ответов 7
Метки нет (Все метки)

Задано натуральное n, целые числа a1,a2,...,an. Рассмотреть отрезки последовательности a1,a2,...,an (подпоследовательности элементов, которые идут подряд), которые состоят из
1)полных квадратов
2)степеней натурального m
3)простых чисел
В каждом случае получить наибольшее из длин отрезков, которые рассматриваются.
Программа запускается но ничего не происходит, помогите исправить.
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
# include <stdio.h>
int square(int n)
{if (n==1) return 1;
int flag=0;
int i=2;
for(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 step(int y, int x)
{if (x==0) return 1;
else if (x>0) return x*step(y,x-1);
else return step(x, y+1)/x;
}
int prost(int a)
{int n;
int i=2;
for(i=2;i*i<=n;i++)
if (n%i==0) return 0;
return 1;
}
int MaxPosl(int b[10], int n, int max)
{int i, k; signed int st;
st=-1; max=0;
for(i=2;i<=n+1;)
{if ((b[i]==1) && (b[i-1]==1)) {if (st<0) st=i-1;}
else
if (st>0) {k=i-st; if (k>max) max=k; st=-1;}
}
}
main()
{int a[10], b[10], n, i, max, m;
printf("Vvedite n=\n");
scanf("%i", &n);
printf("Vvedite ishodnij massiv\n");
for(i=0;i<n;i++)
{scanf("%i", &a[i]);}
printf("Ishodnij massiv\n");
for(i=0;i<n;i++)
printf("%5i", &a[i]);
printf("Max psledovatelnost polnyh kwadratow\n");
for(i=1;i<=n;i++)
b[i]=square(a[i]);
MaxPosl(b, n, max);
printf("max=%i", max);
printf("Max posledovatelnost stepenej\n");
printf("Vvedite m=\n");
scanf("%i", m);
for(i=1;i<=n;i++)
b[i]=step(a[i], m);
MaxPosl(b, n, max);
printf("max=%i", max);
printf("Max posledovatelnost prostih chisel\n");
for(i=1;i<=n;i++)
b[i]=prost(a[i]);
MaxPosl(b, n, max);
printf("max=%i", max);
}
Добавлено через 4 часа 16 минут
апп

Добавлено через 3 часа 7 минут
Актуально
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2015, 00:46
Ответы с готовыми решениями:

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

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

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

Рассмотреть отрезки последовательности, состоящие из степеней пятерки
Здравствуйте, нужно написать код с помощью функции на с++. Вот условие: Даны натуральное число n,...

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

7
Max00766
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 246
19.11.2015, 15:50  [ТС] 2
Программа запускается но ничего не происходит, ни ввод ни вывод подскажите что не так:
Рассмотреть отрезки последовательности, которые состоят из полных квадратов

После перезапуска перестает вообще запускаться и выбивает:
ld.exe||cannot open output file bin\Debug\12laba.exe Permission denied|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
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
75
76
# include <stdio.h>
int square(int n)
{
    if (n==1) return 1;
    int flag=0;
    int i=2;
    for(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 step(int y, int x)
{
    if (x==0) return 1;
    else if (x>0) return x*step(y,x-1);
    else return step(x, y+1)/x;
}
int prost(int a)
{
    int n;
    int i=2;
    for(i=2;i*i<=n;i++)
    if (n%i==0) return 0;
    return 1;
}
int MaxPosl(int b[10], int n, int max)
{
    int i, k; signed int st;
    st=-1; max=0;
    for(i=2;i<=n+1;)
{
    if ((b[i]==1) && (b[i-1]==1))
        {
            if (st<0) st=i-1;
        }
    else
    if (st>0) {k=i-st; if (k>max) max=k; st=-1;}
}
}
main()
{
 int a[10], b[10], n, i, max, m;
 printf("Vvedite n=\n");
 scanf("%i", &n);
 printf("Vvedite ishodnij massiv\n");
 for(i=0;i<n;i++)
{
    scanf("%i", &a[i]);
}
 printf("Ishodnij massiv\n");
 for(i=0;i<n;i++)
  printf("%5i", &a[i]);
  printf("Max psledovatelnost polnyh kwadratow\n");
 for(i=1;i<=n;i++)
   b[i]=square(a[i]);
   MaxPosl(b, n, max);
   printf("max=%i", max);
   printf("Max posledovatelnost stepenej\n");
   printf("Vvedite m=\n");
   scanf("%i", m);
 for(i=1;i<=n;i++)
    b[i]=step(a[i], m);
    MaxPosl(b, n, max);
    printf("max=%i", max);
    printf("Max posledovatelnost prostih chisel\n");
 for(i=1;i<=n;i++)
     b[i]=prost(a[i]);
     MaxPosl(b, n, max);
     printf("max=%i", max);
}
0
Max00766
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 246
19.11.2015, 20:04  [ТС] 3
Перезапустил еще раз и опять не работает не ввод не вывод, только черный экран

Добавлено через 1 час 40 минут
Апп
0
Jewbacabra
Эксперт PHP
4039 / 3320 / 1429
Регистрация: 24.04.2014
Сообщений: 10,022
19.11.2015, 20:21 4
Цитата Сообщение от Max00766 Посмотреть сообщение
cannot open output file bin\Debug\12laba.exe Permission denied
что-то с правами данного файла.
И не рекомендую использовать кириллицу в путях
1
19.11.2015, 20:21
Max00766
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 246
19.11.2015, 20:24  [ТС] 5
Jewbacabra, Вы не пробовали прогу запускать? У Вас работает?
0
Jewbacabra
Эксперт PHP
4039 / 3320 / 1429
Регистрация: 24.04.2014
Сообщений: 10,022
19.11.2015, 20:25 6
Цитата Сообщение от Max00766 Посмотреть сообщение
Вы не пробовали прогу запускать? У Вас работает?
У меня компилятора под рукой нету.
0
Max00766
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 246
19.11.2015, 20:51  [ТС] 7
Jewbacabra,
Немного изменил код, теперь такая ошибка:
Рассмотреть отрезки последовательности, которые состоят из полных квадратов


Код
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
# include <stdio.h>
int Square(int n)
{if (n==1) return 1;
int flag=0;
int i;
for(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 Step(int n, int x)
{do
{if (n%x==0) n/=x;
else return 0;}
while (n>1);
return 1;
}
int Simple(int n)
int i;
{for(i=2;i<=n/2;i++)
if (n%i==0) return 0;
return 1;
}
int main()
{int a[100], i, n, length, maxlength, m;
printf("Vvedite n=");
scanf("%i", &n);
printf("Vvedite posledovatelnost\n");
for(i=0;i<n;i++)
{scanf("%i", &a[i]);}
printf("\nPosledovatelnost\n");
for(i=0;i<n;i++)
printf("%5i", a[i]);
printf("\nMax posledovatelnost polnih kwadratow\n");
maxlength=0;
for(i=0;i<n;i++)
{length=0;
while (Square(a[i]))
{length++;
i++;
}
if (length>maxlength) maxlength=length;
}
printf("%i", maxlength);
printf("\nMax posledovatelnost stepenej\n");
printf("Vvedite m=");
scanf("%i", &m);
maxlength=0;
for(i=0;i<n;i++)
{length=0;
while (Step(a[i], m))
{length++;
i++;
}
if (length>maxlength) maxlength=length;
}
printf("%i", maxlength);
printf("\nMax posledovatelnost prostih chisel\n");
maxlength=0;
for(i=0;i<n;i++)
{length=0;
while (Simple(a[i]))
{length++;
i++;
}
if (length>maxlength) maxlength=length;
}
printf("%i", maxlength);
}
0
Jewbacabra
Эксперт PHP
4039 / 3320 / 1429
Регистрация: 24.04.2014
Сообщений: 10,022
19.11.2015, 21:06 8
Цитата Сообщение от Max00766 Посмотреть сообщение
теперь такая ошибка
int i должна быть внутри {}
И добавь отступы в код, тебе же самому будет проще его читать.
0
19.11.2015, 21:06
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2015, 21:06

Рассмотреть отрезки последовательности,состоящие из одинаковых чисел
Доброе утро форум беда пришла не одна.:cry: Не знаю как бороться с этим :-| 2. Дан массив целых...

Массив целых чисел. Рассмотреть отрезки последовательности, состоящие из степеней пятерки
Добрый день, у меня вот есть код на паскале, нужно перевести на с++. Не очень понятно, что там в...

Найти длину наибольшего отрезка последовательности, состоящего из полных квадратов
дано натуральное число n, целые числа а1, ..., аn. Рассмотреть отрезки последовательности а1, ....,...


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

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

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