using System; public class Test { public static void Main() { int n; //while ((n = int.Parse(Console.ReadLine()))!=42) // Console.WriteLine(n); Console.WriteLine( GeneratedocumentReference("10089","0097")); } private string GeneratedocumentReference(string BoxNo, string FolderNo) { string N1 = "1"; string N2 = "2"; string N3_N4 = "01"; string N5 = "1"; string N6_N10 = System.DateTime.Now.Year.ToString().Substring(3,1) + BoxNo.Substring(1,BoxNo.Length -1); string N11_N14 = FolderNo; string CheckDigit = string.Empty; StringBuilder sb = new StringBuilder(); sb.Append(N1); sb.Append(N2); sb.Append(N3_N4); sb.Append(N5); sb.Append(N6_N10); sb.Append(N11_N14); CheckDigit = ValidateMod43(sb.ToString()); sb.Append(CheckDigit); return sb.ToString().Replace("/", string.Empty); } public string ValidateMod43(string barcode) { int subtotal = 0; const string charSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"; for (int i = 0; i < barcode.Length; i++) { subtotal += charSet.IndexOf(barcode.Substring(i, 1)); } return charSet.Substring(subtotal % 43, 1); } }