コード例 #1
0
        public static string River_max_sequence(long river, long max)
        {
            string sequence = "";

            // Ne rien modifier au dessus de ce commentaire

            sequence += river + " ; ";

            while (river <= max)
            {
                river = TD1.River_next(river);

                if (river > max)
                {
                    sequence += river + ".";
                    // Concaténer permet de transformer en chaine de caractères.
                }
                else
                {
                    sequence += river.ToString() + " ; ";
                    // Avec la méthode To String.
                }
            }
            // Ne rien modifier au dessous de ce commentaire
            return(sequence);
        }
コード例 #2
0
        public static string River_max_sequence(long river, long max)
        {
            string sequence = "";
            // Ne rien modifier au dessus de ce commentaire
            long    riverbase = river;
            Boolean stop      = false;

            while (stop == false)
            {
                if (river == riverbase)
                {
                    sequence += riverbase + " ; ";
                }
                else if (river < max)
                {
                    sequence += river.ToString() + " ; ";
                }
                else if (river >= max)
                {
                    sequence += river.ToString() + ".";
                    stop      = true;
                    break;
                }
                river = TD1.River_next(river);
            }

            // Ne rien modifier au dessous de ce commentaire
            return(sequence);
        }
コード例 #3
0
        public static string River_max_sequence(long river, long max)
        {
            string sequence = "";
            // Ne rien modifier au dessus de ce commentaire
            long nouveaurive = river;

            sequence = nouveaurive + " ; ";

            while (nouveaurive < max)
            {
                nouveaurive = TD1.River_next(nouveaurive);

                if (nouveaurive < max)
                {
                    sequence += nouveaurive + " ; ";
                }
                else
                {
                    sequence += nouveaurive + ".";
                }
            }


            // Ne rien modifier au dessous de ce commentaire
            return(sequence);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: Maxime9812/C-
        public static void Main(string[] args)
        {
            TD1 tD1 = new TD1();
            //TD1.Test();
            TD2 tD2 = new TD2();
            //TD2.Test();
            TD4 td4 = new TD4();

            TD4.Test();
        }
コード例 #5
0
        public static string River_unique(long max)
        {
            string sequences = "";

            // Ne rien modifier au dessus de ce commentaire
            for (long i = 0; i <= max; i++)
            {
                for (long j = 1; j < i; j++)
                {
                    if (!TD1.River_is_sequence(j, i))
                    {
                        sequences += i + " ";
                        break;
                    }
                }
            }
            // Ne rien modifier au dessous de ce commentaire
            return(sequences);
        }
コード例 #6
0
        public static string River_unique(long max)
        {
            string sequences = "";

            // Ne rien modifier au dessus de ce commentaire
            string presequence = "";

            // Génération d'un tableau de longueur de notre argument max
            int[] comparateur = new int[max];

            // Compteurs
            int count  = 0;
            int count2 = 0;

            // Remplir le tableau avec l'ensemble des River Next
            for (int i = 1; i <= max; i++)
            {
                String river = TD1.River_next(i).ToString();

                if (int.Parse(river) < 100)
                {
                    if (Array.IndexOf(comparateur, river) <= 0)
                    {
                        comparateur[count] = int.Parse(river);
                        count++;
                    }
                }
            }

            // Tri croissant avec method .sort de Array
            Array.Sort(comparateur);

            // Import de "using System.Linq;" pour utiliser .Distinct()
            var uniqued = comparateur.Distinct();

            // Transformation en Array
            var tab = uniqued.ToArray();


            // Boucle pour remplir "presequence" avec les sequences uniques en comparant avec l'incrémentation de notre compteur
            foreach (int items in comparateur)
            {
                // Si True et égalité de la valeur avec le compteur
                if (Array.Exists(tab, element => element == count2))
                {
                    count2++;
                }
                // Sinon concaténation
                else
                {
                    presequence += count2 + " ; ";
                    count2++;
                }
            }

            //Un string est immuable donc je transforme presequence
            //en tableau de char pour corriger le " ; " de la derniere itération
            //de la boucle foreach ci dessus

            char[] modificateur = presequence.ToCharArray();

            modificateur[presequence.Length - 3] = '.';

            //for pour remplir sequence/ bloqué manuellement
            //par Length-3 afin de terminer sur le '.'
            for (int i = 0; i <= (presequence.Length - 3); i++)
            {
                sequences += modificateur[i].ToString();
            }
            // Ne rien modifier au dessous de ce commentaire
            return(sequences);
        }