Найти количество ног N у K-главого дракона, если у всех вместе A голов и B ног - C#
Формулировка задачи:
добрый день.
проблема с задачей.
У каждой S-ножки 1 голова. Найти количество ног N у K-главого дракона, если у всех вместе A голов и B ног.
программа не проходит ни одного теста.кто-то может сказать в чем причина?
using System;
public class SplitTest
{
public static void Main()
{
int N = 0;
string[] inputStr = Console.ReadLine().Split(' ');
if (inputStr.Length == 4)
{
int S = Convert.ToInt32(inputStr[0]);
int K = Convert.ToInt32(inputStr[1]);
int A = Convert.ToInt32(inputStr[2]);
int B = Convert.ToInt32(inputStr[3]);
for (N = 0; N <= 1000; N++)
{
if (K == 0) { Console.WriteLine(0); break; }
else if ((K+1) > A || ( S + N ) > B) {Console.WriteLine(-1);break;}
else if (((A * N - B * K) % (N - S * K)) == 0 && ((B - S * A) % (N - S * K)) == 0) { Console.WriteLine(N); break; }
}
}
else Console.WriteLine(-1);
}
}Решение задачи: «Найти количество ног N у K-главого дракона, если у всех вместе A голов и B ног»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
int S = Convert.ToInt32(textBox1.Text); //ноги многоножки
int K = Convert.ToInt32(textBox2.Text); // головы драконов
int A = Convert.ToInt32(textBox3.Text); // все головы
int B = Convert.ToInt32(textBox5.Text); // все ноги
int d = 3; //количество драконов
int m = 2; //количество многоножек
string check = "";
for (int N = 0; N < 100; N++)
{
if ((m + d * K == A) && (m * S + d * N == B))
check = N.ToString();
else
button1.Text = "Нет решений";
}
button1.Text = check;
}