@Carol611 the simple answer is to charge 'whatever you need to' for the 1st night, then significantly discount for the following nights. (eg. 20% after 1 night...).
Just test out some numbers on a spreadsheet where you can play with money and percentages.
That should make a decent incentive for long term stays, and the single nighters will pay the right price without any complicated explanations.
Good luck with the maths.