[Programming Fundamentals] 11. 5 Different Numbers
Добър вечер! Има ли някой, който се е справил с тази задача - https://judge.softuni.bg/Contests/Compete/Index/579#10.Само тя ми остана. Благодаря предварително.
Добър вечер! Има ли някой, който се е справил с тази задача - https://judge.softuni.bg/Contests/Compete/Index/579#10.Само тя ми остана. Благодаря предварително.
Това е моето решение. Вески цикъл трябва да ми дава числата, които отговарят на: "n1 < n2 < n3 < n4 ≤ n5". По този начин си спестявам време и проверки. За да направя това в цикъл "n2" увеличавам +1 числото от предходния и така до цикъл "n5". За край на всеки цикъл използвам същият подход, само че в цикъл "n1" започвам с edns-4 и прибавям +1 във всеки следващ цикъл, докато достигна в цикъл "n5", където остава само ends. Надявам се да ви е било полезно.
using System;
namespace DifferentNumbers
{
class DifferentNumber
{
static void Main()
{
int numM = int.Parse(Console.ReadLine());
int numG = int.Parse(Console.ReadLine());
int start = numM;
int ends = numG;
if (numM > numG)
{
start = numG;
ends = numM;
}
if(ends-start>=4)
{
for (int i = start; i <= ends - 4; i++)//n1
{
for (int k = i+1; k <= ends - 3; k++)//n2
{
for (int m = k + 1; m <= ends - 2; m++)//n3
{
for (int n = m + 1; n <= ends - 1; n++)//n4
{
for (int b = n + 1; b <= ends; b++)//n5
{
Console.WriteLine("{0} {1} {2} {3} {4}",i,k,m,n,b);
}
}
}
}
}
}
else
{
Console.WriteLine("No");
}
}
}
}
Не откривам грешката. Judje дава 83%
https://pastebin.com/sK5Hb4ze
if (a + 4 <= b && a >= -100 && a <= 100 && b >= -100 && b <= 100)
не можах да видя условието заключено е в judge или просто прави проблем в момента. Но от коментарите и решенията на колегите тази ти проверка не прави никакъв смисъл явно искат разликата между а и б да е поне 5 и това е достатъчно а ти излишно си усложнила явно проверката и рповеряваш различни и излишни неща.Но проблема е в този ред с тоя if хващаш граничен тест и го чупиш.
Problem 11. 5 Different Numbers
You will be given two numbers – a and b. Generate five numbers - n 1 , n 2 , n 3 , n 4, n 5 , for which the following conditions
are true: a ≤ n 1 < n 2 < n 3 < n 4 < n 5 ≤ b. If there is no number in the given interval, which satisfies the conditions –
print “No”.
Input
The input contains two integers, each on a new line.
Output
Print all numbers in increasing order and on a new line.
Constraints
a and b will be integers in the interval [-100…100]
Да, открих я. Трябва разликата да бъде поне 5, а аз задавам 4. Другите проверки ги правя заради допустимите стойности на числата от 100 до -100. Благодаря много! Грешката ми е елементарна, но не я виждах
излишно е да проверяваш границите на числата те ви подсказват каква променлива да ползвате не е нужно да проверяваш дали е 100 или -100 те други числа няма да подадат отсен посочените,за теб е важно да ползваш int или число с същата големина ако сложиш byte ще изгърмиш. Реално на тази задача и decimal i double да сложиш е все тая. излишни проверки правиш засега не е важно но нататък с условията които са по -дълги и тежки това ще доведе до дълъг сложен код и ненужни проверки.