using
System;
class
GFG
{
static
String convert_to_words(
char
[] num)
{
int
len = num.Length;
if
(len == 0 || len > 4)
{
return
""
;
}
String []single_digits_temp
= {
""
,
"one"
,
"two"
,
"three"
,
"four"
,
"five"
,
"six"
,
"seven"
,
"eight"
,
"nine"
};
String []single_digits
= {
""
,
"first"
,
"second"
,
"third"
,
"fourth"
,
"fifth"
,
"sixth"
,
"seventh"
,
"eighth"
,
"ninth"
};
String []two_digits
= {
""
,
"tenth"
,
"eleventh"
,
"twelfth"
,
"thirteenth"
,
"fourteenth"
,
"fifteenth"
,
"sixteenth"
,
"seventeenth"
,
"eighteenth"
,
"nineteenth"
};
String []tens_multiple
= {
""
,
"tenth"
,
"twentieth"
,
"thirtieth"
,
"fortieth"
,
"fiftieth"
,
"sixtieth"
,
"seventieth"
,
"eightieth"
,
"ninetieth"
};
String []tens_power = {
"hundred"
,
"thousand"
};
String word =
""
;
if
(len == 1)
{
word += single_digits[num[0] -
'0'
];
return
word;
}
int
i = 0, ctr = 0;
String s =
" "
;
while
(i < len)
{
if
(len >= 3)
{
if
(num[i] !=
'0'
)
{
word
+= single_digits_temp[num[i] -
'0'
]
+
" "
;
word += tens_power[len - 3] +
" "
;
ctr++;
}
len--;
Array.Copy(num, 1, num, 0, num.Length - 1);
}
else
{
if
(ctr != 0)
{
s =
" and "
;
word = word.Substring(0,word.Length - 1);
}
if
(num[i + 1] ==
'0'
)
if
(num[i] ==
'0'
)
word = word +
"th"
;
else
word += s + tens_multiple[num[i] -
'0'
];
else
if
(num[i] ==
'1'
)
word += s + two_digits[num[i + 1] -
'0'
+ 1];
else
{
if
(num[i] !=
'0'
)
word += s + tens_multiple[num[i] -
'0'
]
.Substring(0, tens_multiple[num[i] -
'0'
]
.Length - 4) +
"y "
;
else
word += s;
word += single_digits[num[i + 1] -
'0'
];
}
i += 2;
}
if
(i == len)
{
if
(word[0] ==
' '
)
word = word.Substring(1,word.Length - 1);
}
}
return
word;
}
static
void
Aronsons_sequence(
int
n)
{
String str =
"T is the "
;
int
ind = 0;
for
(
int
i = 0; i < str.Length; i++)
{
if
(
char
.IsLetterOrDigit(str[i]))
{
ind += 1;
}
if
(str[i] ==
't'
|| str[i] ==
'T'
)
{
n -= 1;
str += convert_to_words(String.Join(
""
,ind).ToCharArray()) +
", "
;
Console.Write(ind +
", "
);
}
if
(n == 0)
break
;
}
}
public
static
void
Main(String[] args)
{
int
n = 6;
Aronsons_sequence(n);
}
}