Друк рядка

Сергій дуже любить грати в таку гру: довільним чином вибирають два натуральних числа N (1 <И < 100) і М (1 <М<100). Створюється рядок символів, у який підряд виписуються числа: спочатку одна 1, потім дві 2, потім три 3 і так далі до N. Наприклад, для N = 5 отриманий рядок такий: 122333444455555. Потім отриманий рядок записується в кілька рядків по М символів у рядку. Останній рядок може бути неповної дов­жини. Наприклад, попередній рядок для М= 3 буде записаний у вигляді:

122

333

444

455

555

Потрібно написати програму, що звільнить Сергія від цієї марної витрати часу.

Формат вхідних даних: два числа N і М, що не перевищують 100.

Формат вихідних даних: у кожному рядку повинно міститися по М символів з отриманого для N рядка. Останній рядок може бути неповним.

Ідея розв’язання. Формування на початку всього рядка є недоцільним. Такий рядок можна сформувати тільки для N= 16 (227 символів). Тому будемо формувати рядок, доки його довжина не стане > М, потім будемо виводити підрядок довжини М та відразу його вилучати. Після цього зно­ву будемо будувати рядок з подальшим виведенням і вилученням. Для випадку, коли останній рядок буде неповним, передбачимо його виведен­ня після закінчення циклу.

TextWindow.Title="Друк рядка"
TextWindow.WriteLine("Введіть значення N")
N=TextWindow.ReadNumber()
TextWindow.WriteLine("Введіть значення M")
M=TextWindow.ReadNumber()
s=""
For i=1 To N
  For j=1 To i
    s=Text.Append(s, i)
    While Text.GetLength (s) >= M
      TextWindow.WriteLine(Text.GetSubText(s,1,M))
      s=text.GetSubTextToEnd(s,M+1)
    EndWhile
  EndFor
EndFor
If Text.GetLength (s) > 0 Then
  TextWindow.WriteLine(s)
EndIf

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s