кроссворды, задачки, головоломки

Сборник задач разного уровня сложности по математике, информатике, физике, химии, программированию, экономике etc. Логические задачи, SQL задачи, решение задач. Задачи с ответами, а также нерешённые задачи.

Petruchek.Info

Сформировать последовательность

Добавлено: 06.02.09 в 12:15
Метки: задачи на строки

Необходимо сформировать цифровую последовательность, преобразовывая цифры исходного числа.

Начальным является число, содержащее не более 4 цифр в своей десятичной записи.

Преобразованием является следующая последовательность действий. В десятичной записи исходного числа все подряд идущие одинаковые цифры заменяются на два новых значения: количество повторяющихся разрядов и значение одного из них.

Пример нескольких последовательных преобразований:

108 » 111018 » 31101118 » 1321103118 ... и т.д.

Необходимо произвести N последовательных преобразований исходного числа.

Файл исходных данных:

В первой строке находится число N (1<=N<=25). В следующей строке находится целое положительное начальное число, содержащее не более 4 десятичных разрядов.

Файл результата:

В качестве результата необходимо вывести полученную после N преобразований цифровую последовательность.

Пример исходных данных:
3
108

Пример результата:
1321103118

СПРЯТАТЬ РЕШЕНИЕ/ОТВЕТ

/* Авторское решение к областной олимпиаде по информатике
   16 февраля 2002 г. Запорожье.
   (с) Ильяшенко Матвей 2002 г.  
*/

#include <stdio.h>
#include <string.h>

char str[16384],res[16384],tmp[100];

void main()
{ int i,N,base,ntx,len;

  scanf("%d",&N);
  scanf("%s",str);

  for(i=0;i<N;i++)
  { len=strlen(str);

    ntx=0;
    res[0]=0;
    for(base=0;base<len;base=ntx)

    { while(str[ntx]==str[base]) ntx++;

      sprintf(tmp,"%d%c",ntx-base,str[base]);

      strcat(res,tmp);
    }
    strcpy(str,res);

  }
  printf("%s\n",str);
}
источник: Запорожская областная олимпиада по информатике, 2002

Комментарии
Google says:
Комментарий от новенького:
Новенький является
Новенький не робот
Знаки на картинке: латинские буквы, арабские цифры


Есть на сайте: Онлайн кроссворды Задачи Онлайн игры Блог
Все работы, опубликованные на сайте — авторские, если не указано иное. Перепечатка возможна только с письменного разрешения владельцев ресурса, с обязательной ссылкой на сайт petruchek.info. Пишите нам: . Сайт должен работать в IE, FF, Opera, Safari.

Реклама:

Разработано в студии "Webous"о проектесайта карта

Реклама: