public class IrelandNationalIdentificationNumber
public static void Main()
bool isValid = isValidININ("1234567TW");
Console.WriteLine(isValid);
private static string getReminder(string inin)
for (int i=0;i<inin.Length - 1;i++)
addition += (Convert.ToInt32(inin[i]) - 48) * (inin.Length - i);
Console.WriteLine(addition);
char[] alphabets = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
foreach (char ch in alphabets)
if (ch.Equals(inin[inin.Length - 1]))
int answer = addition % 23;
if (answer == 0) return "W";
return ((char)(answer + 64)).ToString();
private static bool isValidININ(string inin)
if (inin.Length != 9) return false;
string wholestring_check = inin[7].ToString();
string wholestring = inin.Remove(inin.Length - 2,1);
string wholestring_reminder = getReminder(wholestring);
if (!wholestring_reminder.Equals(wholestring_check)) return false;