След дълго търсене си открих грешката. Разликата не е за всички числа, а само за последователните
Здравей. Имай предвид, че ние не можем да видим твоите решения от Judge. Трябва да качиш кода си в сайт като pastebin.com или dotnetfiddle.net
Здравей,
пускам ти моето решение. В случай, че искаш да видиш постъпково как работи го изпробвай с дебъгера, но
щом вече си решил задачата няма да имаш проблеми с разбирането на това конкретно решение.
Ето го и него:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EqualPairs
{
class Program
{
static void Main(string[] args)
{
var number = 3;
double sum = 0;
double sum2 = 0;
double max = 0;
double avg = 0;
for (int i = 1; i <= number; i++)
{
sum2 = sum;
var a = 1.0;
var b = 2.0;
sum = a + b;
if (i == 1)
{
continue;
}
avg = Math.Abs(sum - sum2);
if (avg > max)
{
max = avg;
}
}
if (max == 0)
{
Console.WriteLine("Yes, value={0}", sum);
}
else
{
Console.WriteLine("No, maxdiff={0}", max);
}
}
}
}
Всъщност аз го разцъквах с дебъгера и затова се виждат константни стойности :)
Ето го и в оригинал:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace pairs
{
class Program
{
static void Main(string[] args)
{
var number = double.Parse(Console.ReadLine());
double sum = 0;
double sum2 = 0;
double max = 0;
double avg = 0;
for (int i = 1; i <= number; i++)
{
sum2 = sum;
var a = double.Parse(Console.ReadLine());
var b = double.Parse(Console.ReadLine());
sum = a + b;
if (i == 1)
{
continue;
}
avg = Math.Abs(sum - sum2);
if (avg > max)
{
max = avg;
}
}
if (max == 0)
{
Console.WriteLine("Yes, value={0}", sum);
}
else
{
Console.WriteLine("No, maxdiff={0}",max);
}
}
}
}