Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Useless
- {
- class MainClass
- {
- public static void Main(string[] args)
- {
- int ЧиСлОэЛеМеНтОв = System.Convert.ToInt32(System.Console.ReadLine());
- int[] КоЛиЧеСтВоШаГоВ, РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк;
- КоЛиЧеСтВоШаГоВ = new int[ЧиСлОэЛеМеНтОв + 1];
- РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк = new int[ЧиСлОэЛеМеНтОв + 1];
- for (int и = 0; и <= ЧиСлОэЛеМеНтОв; и++)
- {
- КоЛиЧеСтВоШаГоВ[и] = ЧиСлОэЛеМеНтОв + 1;
- РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[и] = -1;
- }
- КоЛиЧеСтВоШаГоВ[1] = 0;
- int НоМеР = 1;
- while (НоМеР <= ЧиСлОэЛеМеНтОв)
- {
- int ДеЛиТеЛь = 1;
- for (ulong i = 0; i < System.UInt64.MaxValue; i++)
- {
- if (ДеЛиТеЛь * 2 <= НоМеР && НоМеР + ДеЛиТеЛь <= ЧиСлОэЛеМеНтОв)
- {
- if (НоМеР % ДеЛиТеЛь == 0 && КоЛиЧеСтВоШаГоВ[НоМеР] + 1 <= КоЛиЧеСтВоШаГоВ[НоМеР + ДеЛиТеЛь])
- {
- КоЛиЧеСтВоШаГоВ[НоМеР + ДеЛиТеЛь] = КоЛиЧеСтВоШаГоВ[НоМеР] + 1;
- РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[НоМеР + ДеЛиТеЛь] = НоМеР;
- }
- ДеЛиТеЛь = 1 + ДеЛиТеЛь;
- }
- else
- break;
- }
- if (2 * НоМеР <= ЧиСлОэЛеМеНтОв && КоЛиЧеСтВоШаГоВ[НоМеР] + 1 <= КоЛиЧеСтВоШаГоВ[2 * НоМеР])
- {
- КоЛиЧеСтВоШаГоВ[2 * НоМеР] = КоЛиЧеСтВоШаГоВ[НоМеР] + 1;
- РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[2 * НоМеР] = НоМеР;
- }
- НоМеР = 2 + НоМеР - 1;
- }
- НоМеР = 1;
- НоМеР = ЧиСлОэЛеМеНтОв;
- System.Collections.ArrayList вспомогательный = new System.Collections.ArrayList();
- while (РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[НоМеР] != -1)
- {
- вспомогательный.Add(НоМеР - РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[НоМеР]);
- НоМеР = РоДиТеЛеЙнЕтРоШтВеРдЫйЗнАк[НоМеР];
- }
- System.Console.WriteLine(вспомогательный.Count);
- foreach (int и in вспомогательный)
- System.Console.Write(и + " ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement