34792023-02-28 12:13:38CsongiSorozat generáláscsharpHibás válasz 28/50214ms34368 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sorozat
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] be = Console.ReadLine().Split();
            int m = int.Parse(be[0]); int kezd = int.Parse(be[1]); int a = int.Parse(be[2]); int b = int.Parse(be[3]); int lepes = int.Parse(be[4]); int k = int.Parse(be[5]);
            //int[] sorozat = new int[lepes];
            List<int> list = new List<int>();
            List<int> vegso = new List<int>();
            for (int i = 0; i < lepes; i++)
            {
                kezd = gener(m, kezd, a, b);
                if (!list.Contains(kezd))
                {
                    list.Add(kezd);
                    //vegso.Add(kezd);
                }
                else
                {
                    //vegso.Add(kezd);
                    break;
                }
                    
            }
            List<int> lista = new List<int>(list);
            
            while (lista[0] != kezd)
            {
                lista.RemoveAt(0);
            }



            Console.WriteLine(lista.Count);


            for (int i = 0; i < lepes; i++)
            {
                kezd = gener(m, kezd, a, b);
                vegso.Add(kezd);
            }


            vegso.Sort(); // növekvő sorba rendezi
            Console.WriteLine(vegso[10]);
            //for (int i = 0; i < vegso.Count; i++)
            //{
            //    Console.WriteLine("//");
            //    Console.WriteLine(vegso[i]);
            //}
            //for (int i = 0; i < sorozat.Length; i++)
            //{
            //    Console.WriteLine(sorozat[i]);
            //}

            //Console.WriteLine(h);
            Console.ReadKey();
        }

        static int gener(int m, int kezd, int a, int b)
        {
            int szamkesz = -1;
            ulong elsosz = (ulong)kezd * (ulong)a + (ulong)b;
            string h = elsosz.ToString();
            h = new string('0', m * 4 - elsosz.ToString().Length) + h;
            //for (int i = 0; kezd.ToString().Length < m * 4 && i < kezd.ToString().Length; i++)
            //{
            //    h = "0" + h;
            //}
            szamkesz = int.Parse(h.Substring(m, m * 2));
            return szamkesz;
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base28/50
1Elfogadva0/034ms21156 KiB
2Hibás válasz0/0187ms31372 KiB
3Részben helyes1/234ms21980 KiB
4Részben helyes1/243ms23992 KiB
5Részben helyes1/239ms24160 KiB
6Részben helyes1/237ms23784 KiB
7Elfogadva2/241ms24556 KiB
8Részben helyes2/448ms26364 KiB
9Részben helyes2/470ms31152 KiB
10Részben helyes2/4112ms33024 KiB
11Részben helyes2/4104ms33296 KiB
12Részben helyes2/4130ms33984 KiB
13Részben helyes2/4175ms34368 KiB
14Részben helyes2/4194ms34032 KiB
15Elfogadva4/4214ms34032 KiB
16Részben helyes2/4194ms34120 KiB
17Részben helyes2/4199ms34016 KiB