Приписать слева от каждой цифры заданного натурального числа цифру k - C#
Формулировка задачи:
Здравствуйте, помогите пожалуйста найти ошибку.
Условие задачи: дано натуральное число (не более чем четырехзначное) и цифра k от 0 до 9 . Приписать слева от каждой цифры заданного числа цифру k.
При наборе № 1: a=4568 k=0 Ответ: 4050608
№ 2: a=4568 k=1 Ответ: 14151618
а при наборе № 3: a=45 k=7 ответ не выходит.
Помогите пожалуйста
using System;
namespace Prog1
{
class Program
{
static void Main()
{
int A, k, St = 1;
Console.WriteLine("Введите натуральное число (не более чем четырехзначное): ");
A = Convert.ToInt32(Console.ReadLine());
while ((A > 0) && (A < 10000))
{
Console.WriteLine("Введите цифру: ");
k = Convert.ToInt32(Console.ReadLine());
while ((A / St) != 0)
{
A = A / (10 * St) * 100 * St + k * 10 * St + A % (10 * St);
St = St * 100;
}
}
Console.WriteLine(A);
Console.ReadKey();
}
}
}Решение задачи: «Приписать слева от каждой цифры заданного натурального числа цифру k»
textual
Листинг программы
using System;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main()
{
int n = 10000, k = 10;
while (n > 9999 || n < 0)
{
Console.Write("Введите натуральное число (не более чем четырехзначное): ");
n = int.Parse(Console.ReadLine());
}
while (k > 9 || k < 0)
{
Console.Write("Введите цифру: ");
k = int.Parse(Console.ReadLine());
}
Console.WriteLine(String.Join("",n.ToString().Select(v => k.ToString() + v)));
Console.ReadKey(true);
}
}
}