c# square every digit of a number
//c# square every digit of a number
public static int SquareDigits(int n)
{
var val = n.ToString();
var result = "";
for (var i = 0; i < val.Length; i++)
{
char c = val[i];
int num = int.Parse(c.ToString());
result += (num * num);
}
return int.Parse(result);
}
------------------------------------------------Option 2
public static int SquareDigits(int n)
{
var result =
n
.ToString()
.ToCharArray()
.Select(Char.GetNumericValue)
.Select(a => (a * a).ToString())
.Aggregate("", (acc, s) => acc + s);
return int.Parse(result);
}
-------------------------------------------------option 3
public static int SquareDigits(int n)
{
List<int> list = new List<int>();
while (n != 0)
{
int remainder = n % 10;
n = n / 10;
list.Add((remainder * remainder));
}
return int.Parse(String.Join("", list.ToArray()));
}