diff --git a/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/CodeChunks.db b/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/CodeChunks.db index 0459d98..24db386 100644 Binary files a/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/CodeChunks.db and b/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/CodeChunks.db differ diff --git a/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/SemanticSymbols.db b/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/SemanticSymbols.db index 08cf2fb..ee323f4 100644 Binary files a/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/SemanticSymbols.db and b/fordulo_3/Program/.vs/Program/CopilotIndices/17.13.431.34963/SemanticSymbols.db differ diff --git a/fordulo_3/Program/.vs/Program/FileContentIndex/628ed0ad-8049-492c-95bc-a594579de0f6.vsidx b/fordulo_3/Program/.vs/Program/FileContentIndex/628ed0ad-8049-492c-95bc-a594579de0f6.vsidx new file mode 100644 index 0000000..a672cfd Binary files /dev/null and b/fordulo_3/Program/.vs/Program/FileContentIndex/628ed0ad-8049-492c-95bc-a594579de0f6.vsidx differ diff --git a/fordulo_3/Program/.vs/Program/FileContentIndex/709cd04e-3822-46cd-877c-58cf2aa34676.vsidx b/fordulo_3/Program/.vs/Program/FileContentIndex/709cd04e-3822-46cd-877c-58cf2aa34676.vsidx deleted file mode 100644 index fd59670..0000000 Binary files a/fordulo_3/Program/.vs/Program/FileContentIndex/709cd04e-3822-46cd-877c-58cf2aa34676.vsidx and /dev/null differ diff --git a/fordulo_3/Program/.vs/Program/FileContentIndex/c5e1a060-b5a3-4a37-83b6-4d15ff12fdfb.vsidx b/fordulo_3/Program/.vs/Program/FileContentIndex/c5e1a060-b5a3-4a37-83b6-4d15ff12fdfb.vsidx deleted file mode 100644 index 2474a64..0000000 Binary files a/fordulo_3/Program/.vs/Program/FileContentIndex/c5e1a060-b5a3-4a37-83b6-4d15ff12fdfb.vsidx and /dev/null differ diff --git a/fordulo_3/Program/.vs/Program/FileContentIndex/feb9953c-1d6a-4dd8-b9aa-8c2bba9ba3d5.vsidx b/fordulo_3/Program/.vs/Program/FileContentIndex/feb9953c-1d6a-4dd8-b9aa-8c2bba9ba3d5.vsidx new file mode 100644 index 0000000..5bf302e Binary files /dev/null and b/fordulo_3/Program/.vs/Program/FileContentIndex/feb9953c-1d6a-4dd8-b9aa-8c2bba9ba3d5.vsidx differ diff --git a/fordulo_3/Program/.vs/Program/copilot-chat/f9c248b7/sessions/60af910b-f53a-4808-9b09-d87c835f0707 b/fordulo_3/Program/.vs/Program/copilot-chat/f9c248b7/sessions/60af910b-f53a-4808-9b09-d87c835f0707 new file mode 100644 index 0000000..59db6a5 Binary files /dev/null and b/fordulo_3/Program/.vs/Program/copilot-chat/f9c248b7/sessions/60af910b-f53a-4808-9b09-d87c835f0707 differ diff --git a/fordulo_3/Program/.vs/Program/v17/.suo b/fordulo_3/Program/.vs/Program/v17/.suo index bd5a771..e4af5b9 100644 Binary files a/fordulo_3/Program/.vs/Program/v17/.suo and b/fordulo_3/Program/.vs/Program/v17/.suo differ diff --git a/fordulo_3/Program/.vs/Program/v17/DocumentLayout.backup.json b/fordulo_3/Program/.vs/Program/v17/DocumentLayout.backup.json index 61aac78..7b1802f 100644 --- a/fordulo_3/Program/.vs/Program/v17/DocumentLayout.backup.json +++ b/fordulo_3/Program/.vs/Program/v17/DocumentLayout.backup.json @@ -2,13 +2,13 @@ "Version": 1, "WorkspaceRootPath": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\", "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|e:\\h\u00E1zi\\13.oszt\u00E1ly\\neumann_verseny\\fordulo_3\\program\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|e:\\h\u00E1zi\\13.oszt\u00E1ly\\neumann_verseny\\fordulo_3\\program\\sorozat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:sorozat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -18,33 +18,32 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 1, + "SelectedChildIndex": 0, "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 0, "Title": "Sorozat.cs", "DocumentMoniker": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Sorozat.cs", "RelativeDocumentMoniker": "Sorozat.cs", "ToolTip": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Sorozat.cs", "RelativeToolTip": "Sorozat.cs", - "ViewState": "AgIAAAgAAAAAAAAAAAAxwBkAAAAcAAAAAAAAAA==", + "ViewState": "AgIAABwAAAAAAAAAAAAYwCMAAAAaAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-03-12T12:59:58.311Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 1, "Title": "Program.cs", "DocumentMoniker": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Program.cs", "RelativeDocumentMoniker": "Program.cs", "ToolTip": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Program.cs", "RelativeToolTip": "Program.cs", - "ViewState": "AgIAAAQAAAAAAAAAAAAUwCEAAABqAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAzAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-03-12T12:54:16.847Z", - "EditorCaption": "" + "WhenOpened": "2025-03-12T12:54:16.847Z" } ] } diff --git a/fordulo_3/Program/.vs/Program/v17/DocumentLayout.json b/fordulo_3/Program/.vs/Program/v17/DocumentLayout.json index 61aac78..7b1802f 100644 --- a/fordulo_3/Program/.vs/Program/v17/DocumentLayout.json +++ b/fordulo_3/Program/.vs/Program/v17/DocumentLayout.json @@ -2,13 +2,13 @@ "Version": 1, "WorkspaceRootPath": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\", "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|e:\\h\u00E1zi\\13.oszt\u00E1ly\\neumann_verseny\\fordulo_3\\program\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|e:\\h\u00E1zi\\13.oszt\u00E1ly\\neumann_verseny\\fordulo_3\\program\\sorozat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:sorozat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6A74A9DE-500D-46FF-859A-18F4A752D2A5}|Program.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -18,33 +18,32 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 1, + "SelectedChildIndex": 0, "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 0, "Title": "Sorozat.cs", "DocumentMoniker": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Sorozat.cs", "RelativeDocumentMoniker": "Sorozat.cs", "ToolTip": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Sorozat.cs", "RelativeToolTip": "Sorozat.cs", - "ViewState": "AgIAAAgAAAAAAAAAAAAxwBkAAAAcAAAAAAAAAA==", + "ViewState": "AgIAABwAAAAAAAAAAAAYwCMAAAAaAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-03-12T12:59:58.311Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 1, "Title": "Program.cs", "DocumentMoniker": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Program.cs", "RelativeDocumentMoniker": "Program.cs", "ToolTip": "E:\\H\u00E1zi\\13.oszt\u00E1ly\\Neumann_Verseny\\fordulo_3\\Program\\Program.cs", "RelativeToolTip": "Program.cs", - "ViewState": "AgIAAAQAAAAAAAAAAAAUwCEAAABqAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAzAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-03-12T12:54:16.847Z", - "EditorCaption": "" + "WhenOpened": "2025-03-12T12:54:16.847Z" } ] } diff --git a/fordulo_3/Program/Program.cs b/fordulo_3/Program/Program.cs index fe5abcc..a7532d2 100644 --- a/fordulo_3/Program/Program.cs +++ b/fordulo_3/Program/Program.cs @@ -10,28 +10,9 @@ namespace Program { static void Main(string[] args) { - Sorozat leghosszabb = new Sorozat(77031); - leghosszabb.TagokKiszamitasa(leghosszabb.KezdoErtek); + Sorozat.ComputeCollatz(1000000); - int max = 110000; - int min = 100000; - - - for (int i = min; i < max; i++) - { - Sorozat sorozat = new Sorozat(i); - sorozat.TagokKiszamitasa(sorozat.KezdoErtek); - if (sorozat.Tagok.Count > leghosszabb.Tagok.Count) - { - leghosszabb = new Sorozat(sorozat); - } - } - - - // mivel 1.000.000 számot kell megvizsgálin ezért ez a fajta megoldás nem jó - //Sorozat leghosszabb = sorozatok.OrderByDescending(x => x.Tagok.Count).First(); - - Console.WriteLine($"2. feladat megoldás: {leghosszabb.KezdoErtek}|{leghosszabb.Tagok.Count}"); + Sorozat.CollatzLengthWithPrint(837799); } } } diff --git a/fordulo_3/Program/Sorozat.cs b/fordulo_3/Program/Sorozat.cs index 2a67e94..2d5dfa4 100644 --- a/fordulo_3/Program/Sorozat.cs +++ b/fordulo_3/Program/Sorozat.cs @@ -8,64 +8,71 @@ namespace Program { class Sorozat { - public int KezdoErtek; + static Dictionary<long, int> memo = new Dictionary<long, int>(); - public List<int> Tagok = new List<int>(); + static int CollatzLength(long n) { - int[] kettoHatvanyok = new int[] { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608 }; + long original = n; + int count = 0; - public int TagokKiszamitasa(int ertek) - { - int ujertek; - - if (kettoHatvanyok.Contains(ertek)) + while (n != 1 && !memo.ContainsKey(n)) { - int index = 0; - while (kettoHatvanyok[index] != ertek) + if (n % 2 == 0) { - index++; + n /= 2; + } else + { + n = n * 3 + 1; } - - KettoHatvanyokTagokHozzaAdasa(index); - - return 1; + count++; } - if (ertek == 1) { - Tagok.Add(ertek); - return 1; - } - - if (ertek % 2 == 0) + if (memo.ContainsKey(n)) { - ujertek = ertek / 2; - - } else - { - ujertek = ertek * 3 + 1; + count += memo[n]; } - Tagok.Add(ertek); - return TagokKiszamitasa(ujertek); + memo[original] = count; + return count; } - public void KettoHatvanyokTagokHozzaAdasa(int index) + public static void CollatzLengthWithPrint(long n) { - for (int i = index; i >= 0; i--) + + long original = n; + int count = 0; + + while (n != 1) { - Tagok.Add(kettoHatvanyok[i]); + if (n % 2 == 0) + { + n /= 2; + } + else + { + n = n * 3 + 1; + } + count++; + Console.WriteLine(n); } } - public Sorozat(Sorozat sorozat) + public static void ComputeCollatz(int limit) { - KezdoErtek = sorozat.KezdoErtek; - Tagok = sorozat.Tagok; - } + int maxLenght = 0; + int maxNumber = 0; - public Sorozat(int kezdoErtek) - { - this.KezdoErtek = kezdoErtek; + for (int i = 1; i < limit; i++) + { + int length = Sorozat.CollatzLength(i); + if (length > maxLenght) + { + maxLenght = length; + maxNumber = i; + } + } + + Console.WriteLine($"2. feladat megoldás: {maxNumber}|{maxLenght}"); } } } diff --git a/fordulo_3/Program/bin/Debug/Program.exe b/fordulo_3/Program/bin/Debug/Program.exe index 46577b5..4d4c73e 100644 Binary files a/fordulo_3/Program/bin/Debug/Program.exe and b/fordulo_3/Program/bin/Debug/Program.exe differ diff --git a/fordulo_3/Program/bin/Debug/Program.pdb b/fordulo_3/Program/bin/Debug/Program.pdb index 7fac86a..d2817df 100644 Binary files a/fordulo_3/Program/bin/Debug/Program.pdb and b/fordulo_3/Program/bin/Debug/Program.pdb differ diff --git a/fordulo_3/Program/obj/Debug/Program.exe b/fordulo_3/Program/obj/Debug/Program.exe index 46577b5..4d4c73e 100644 Binary files a/fordulo_3/Program/obj/Debug/Program.exe and b/fordulo_3/Program/obj/Debug/Program.exe differ diff --git a/fordulo_3/Program/obj/Debug/Program.pdb b/fordulo_3/Program/obj/Debug/Program.pdb index 7fac86a..d2817df 100644 Binary files a/fordulo_3/Program/obj/Debug/Program.pdb and b/fordulo_3/Program/obj/Debug/Program.pdb differ diff --git a/megoldasok.md b/megoldasok.md index e33052a..1a7c3dd 100644 --- a/megoldasok.md +++ b/megoldasok.md @@ -36,3 +36,21 @@ - a: `213` - b: `KULDJPENZT` - c: `APU FUTYUL ORRUK MIATT APU SIET SIET HAZA ORRUK LETOR TOVIG BIZONY LETOR` + +## 3. Forduló + +### 1. feladat +- a: `` +- b: `` +- c: `` + +### 2. feladat +- `837799|524` + +### 3. feladat +- a: `` +- b: `` + +### 4. feladat +- a: `` +- b: ``