Series37. Дано целое число $$K$$, а также $$K$$ наборов ненулевых целых чисел. Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Найти количество наборов, элементы которых возрастают или убывают.
Решение, считаются только строго монотонные последовательности:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <stdio.h> int main(void) { int k; printf("K:"); scanf("%i", &k); int count=0,ki,a=1,a1; for (ki=1; ki<=k; ++ki){ printf(">"); scanf("%i", &a); int checkup=1, checkdown=1; while(a!=0){ a1=a; printf(">"); scanf("%i", &a); if ((a1>=a)&&(a!=0)) checkup=0; if ((a1<=a)&&(a!=0)) checkdown=0; } if (checkup!=checkdown) count+=1; } printf("%i\n",count); return 0; } |
Решение, набор из одинаковых чисел (например 1 1 1 0) считается возрастающим и убывающим:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <stdio.h> int main(void) { int k; printf("K:"); scanf("%i", &k); int count=0,ki,a=1,a1; for (ki=1; ki<=k; ++ki){ printf(">"); scanf("%i", &a); int checkup=1, checkdown=1; while(a!=0){ a1=a; printf(">"); scanf("%i", &a); if ((a1>a)&&(a!=0)) checkup=0; if ((a1<a)&&(a!=0)) checkdown=0; } if (checkup||checkdown) count+=1; } printf("%i\n",count); return 0; } |
Другие задачи из раздела Series можно посмотреть здесь.
Комментарии: