This method uses at least 3 Donphan but recommend 5 level 25, all of whom are equipped with Sturdy ability, Endeavor and Ice Shard. Both of these moves are learned as egg moves, which can be taught in the daycare center below Cerulean City for 15k.
Also it is recommended you buy at least 5 revival herbs for the flinching that Mega Sharpedo does with Waterfall. These can be found underneath Goldenrod.
The tactic is simple, Donphan with sturdy will get brought down to 1 hp with any attack any of Hannah's pokemon will do. Use endeavor on this move, bring down the poke to 1 HP, and Ice shard for priority on next turn to faint the poke. Continue this method until you win.
If your on your last full hp Donphan, and are about to lose, you can use him to revive 2 other donphan back with your herbs, which will come back with sturdy ready and able to revive more, or finish up the battle.
GG