Homework: Primitive Data Types and Variables-Problem 16-Half Sum
Здравете,
В задачата е записано,че n е цяло число [0...500], а всички други числа, които въвеждаме са в диапазона [-500 000 ... 500 000].
Въпроса ми е при подобна задача на изпита трябва ли да включим код, който да проверява входните данни или е важен просто алгоритъма?
Ето моето решение за момента:
using System;
class HalfSum
{
static void Main()
{
Console.Write("Enter number of the sequence [0...500] n:");
ushort n = ushort.Parse(Console.ReadLine());
Console.WriteLine("Enter elements of the sequence, value [-500 000 ... 500 000]:");
int[] sec1 = new int[n];
int[] sec2 = new int[n];
int sum1 = 0;
int sum2 = 0;
for (int i = 0; i < n; i++)
{
sec1[i] = int.Parse(Console.ReadLine());
sum1 += sec1[i];
}
for (int i = 0; i < n; i++)
{
sec2[i] = int.Parse(Console.ReadLine());
sum2 += sec2[i];
}
if(sum1==sum2)
{
Console.WriteLine("Yes,sum= {0}",sum1);
}
else
{
Console.WriteLine("No,diff= {0}", Math.Abs(sum1 - sum2));
}
}
}
Ще се радвам на коментари.
Реших задачата по подобен начин, но в judge ми дава 0 точки. Ето го и кода, ще се радвам някой, ако ми покаже къде бъркам.
using System;
class HalfSumContinue
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
int sumFirst = 0;
for (int i = 0; i < n; i++)
{
int count = int.Parse(Console.ReadLine());
sumFirst += count;
}
int sumSecond = 0;
for (int i = 0; i < n; i++)
{
int countSecond = int.Parse(Console.ReadLine());
sumSecond += countSecond;
}
if (sumFirst == sumSecond)
{
Console.WriteLine("Yes,sum={0}", sumFirst);
}
else
{
int absValue = Math.Abs(sumFirst - sumSecond);
Console.WriteLine("No,diff={0}",absValue);
}
}
}
Просто на тези редове трябва да сложиш празно място между "Yes, sum и No, diff и ти дава 100 точки
така както съм ги преправил:
Console.WriteLine("Yes, sum={0}", sumFirst);
Console.WriteLine("No, diff={0}",absValue);
Работи. Даде 100/100. Благодаря!