Сравнение чисел - C# (200408)
Формулировка задачи:
Привет
Есть 5 целые числа. a,b,c,d,e
Написать программу которая проверят такие условия:
1. если все они одинаковы, т.е. a=b=c=d=e тогда вывести число 1
2. если любые четыре из них одинаковы и один различный от других тогда вывести число 2
3. если трое одинаковы и двое тоже одинаковы тогда вывести число "3"
4. если трое одинаковы и двое различны тогда вывести число "4"
5. если двое одинаковы и еще двое тоже одинаковы и один различный тогда вывести число "5"
6. если только двое одинаковы, а все остальные различные тогда вывести число "6"
7. если все они различные тогда вывести число тогда вывести число "7"
Заранее спасибо
Решение задачи: «Сравнение чисел»
textual
Листинг программы
using System;
using System.Linq;
namespace A
{
class Program
{
static void counter(int[] xs)
{
var ys = xs.GroupBy(e => e).Select(e => e.Count()).OrderByDescending(e => e).Concat(new int [] { 0, 0, 0, 0, 0}).ToArray();
var m = ys.Length == 6 ? 1 : (ys[1] + ys[2] + ys[3] + ys.Length - 1) - 5;
Console.WriteLine("{0} => {1}", String.Join(", ", xs), m);
}
static void Main(string[] args)
{
counter(new int[] { 1, 1, 1, 1, 1 });
counter(new int[] { 1, 2, 1, 1, 1 });
counter(new int[] { 1, 2, 1, 2, 1 });
counter(new int[] { 1, 2, 1, 3, 1 });
counter(new int[] { 1, 2, 1, 2, 3 });
counter(new int[] { 1, 2, 1, 4, 3 });
counter(new int[] { 1, 2, 3, 4, 5 });
Console.ReadKey();
}
}
}