Loading...
s.donkova avatar s.donkova 0 Точки

[Homework] Programming Fundamentals - Arrays and Lists - Lab - Tripple Sum

Здравейте, първата проверка с 4 единици не ми излиза правилна и judge ми дава 90 точки. Можете ли да ми кажете защо?

Това е кодът:

 

              int[] nums = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            for (int i = 0; i < nums.Length; i++)
                for (int j = i + 1; j < nums.Length; j++)
                {
                    int a = nums[i];
                    int b = nums[j];
                    int sum = a + b;
                    if (nums.Contains(sum))                    
                        Console.WriteLine($"{a} + {b} == {sum}");                    
                    else if (a + b != sum)                                            
                        Console.WriteLine("No");                    
                    else if (a == 1 && b == 1)                    
                        Console.WriteLine("No");

Тагове:
0
Programming Fundamentals 03/10/2016 18:40:49
Maria_ls avatar Maria_ls 383 Точки

И междувременно да попитам някой има ли идея защо кодът написан по този начин - с Contains() изкарва 100/100  https://dotnetfiddle.net/iynGIg

А по този - с още един for цикъл, вместо Contains() само 60/100. https://dotnetfiddle.net/PCOFrX

Алгоритъмът и на двете решения е един и същ.

0
Pilgrimage avatar Pilgrimage 515 Точки

Защото с цикъл дава повече резултати.

Пробвай го с "6 0 6".

6 + 0 = първото 6

и после пак за второто 6

после за 0 + 6 пак излизат два резултата.

Явно това не е по нрава на Judge за когото двете шестици са едно! :-)

1
05/10/2016 13:42:24
Maria_ls avatar Maria_ls 383 Точки

Много благодаря! Чудех се дали с break би се оправило, ама така и не проверих smiley

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.