다음과 같은 프로그램을 만들려고합니다. 4 자리 숫자 (예 : 1001)가 주어지면 해당 숫자의 숫자 합계, 1001의 경우 1 + 0 1 * 1 * 1 * 1 * 2는 2 * 1 * 1 * 1 * 1 * 1과 다릅니다. 그 제품은 그 번호입니다.작동하지 않는 숫자에 대한 모스 부호를 반환하는 C# 프로그램
결과는 다음과 같은 형식의 콘솔에 인쇄한다 : 하나의 파이프로 구분 6 개 번호의 각 시퀀스들은 모스 표현과 : 1 .----
이고, 2 ..---
이다 .----|.----|.----|.----|..---|
새로운 행의 다음 순열 : .----|.----|.----|..---|.----|
등등.
문제는 내 솔루션에 정답이 표시되지 않고 정확한 숫자가 표시되지 않는다는 것입니다. 여기
내 코드 (그리고, 가능하다면, 내 실수가 어디 있는지 말해, 및 LINQ와 정규식과 하나님과의 문제에하지 한줄 해킹 솔루션은 무엇을 알고하십시오) : string n = Console.ReadLine();
string[] digitsChar = new string[n.Length];
for (int i = 0; i < 4; i++)
{
digitsChar[i] = n[i].ToString();
}
int[] digits = new int[digitsChar.Length];
for (int i = 0; i < 4; i++)
{
digits[i] = Convert.ToInt32(digitsChar[i]);
}
int morseProduct = digits.Sum();
Console.WriteLine(morseProduct);
List<int> morseCodeNumbers = new List<int>();
for (int i = 1; i < 6; i++)
{
for (int j = 1; i < 6; i++)
{
for (int k = 1; i < 6; i++)
{
for (int l = 1; i < 6; i++)
{
for (int m = 1; i < 6; i++)
{
for (int o = 1; o < 6; o++)
{
int product = i * j * k * l * m * o;
if (product == morseProduct)
{
morseCodeNumbers.Add(i);
morseCodeNumbers.Add(j);
morseCodeNumbers.Add(k);
morseCodeNumbers.Add(l);
morseCodeNumbers.Add(m);
morseCodeNumbers.Add(o);
}
}
}
}
}
}
}
int numberOfNumbers = morseCodeNumbers.Count;
string[] morseCodes = new string[] { "-----", ".----", "..---", "...--", "....-", "....." };
for (int i = 0; i < numberOfNumbers; i++)
{
int counter = 0;
if (i % 5 == 0)
{
Console.WriteLine();
counter = 0;
}
if (counter < 5)
{
int index = morseCodeNumbers[i];
Console.Write(morseCodes[index] + "|");
counter++;
}
는 귀하의 샘플에 문제가 발생한 것 같습니다. 그들은 5 자릿수 만 포함합니다. 그 맞습니까? – Alireza