bè dovrebbe andare bene il long o unsigned long però non so come siano implementati in linux e su win dipende dal compilatore.. (credo)

per l'input visto che è sempre x*10^y potresti chiedere di inserire x e poi l'esponente y..