なんか布団の中で思いついた問題

1. 0から9999までの整数を入力として受け取り、それをひらがなで出力するプログラムを書け
 例) 0→ぜろ 4→よん 14→じゅうよん 87→はちじゅうなな 801→はっぴゃくいち 7974→ななせんきゅうひゃくななじゅうよん

2. 0から99999999(9999万9999)までの整数を入力として受け取り、それをひらがなで出力するプログラムを書け
 例)88880007→はっせんはっぴゃくはちじゅうはちまんなな

3. 0から9999999999999999(9999兆9999億9999万9999)までの整数を入力として受け取り、それをひらがなで出力するプログラムを書け
 例)8000800080008→はっちょうはちおくはちまんはち

4. 上記3において、入力が3の倍数もしくは3がつく数字であるときにはその数字を英語で出力せよ