#include<iostream> using namespace std; int main() { int a,b; while(true) { cout<<"请输入想要购买的本数:"<<endl; cin>>a; b=a%10; if(b>5) { if(b==8) cout<<"整套购买"<<(a/10)*2<<"套"<<endl<<"再购买两套,每套随意选四本不同的书"<<endl; else cout<<"整套购买"<<(a/10)*2+1<<"套"<<endl<<"再随意购买"<<a%5<<"本不同的书"<<endl; } else { if(b==0||b==5) cout<<"整套购买"<<a/5<<"套"<<endl; else cout<<"整套购买"<<a/5<<"套"<<endl<<"再随意购买"<<a%5<<"本不同的书"<<endl;
} } }
思路:将想要购买的本数除以10取余。由规律可知当余数大于5时,又分为等于8和不等于8,等于时选取整套购买加4+4方案,不等于时选取整套购买加5+x方案;否则,当余数等于0或5时,整套购买,当余数不等于0或5时整套购买加x方案。
感想:当思路清楚时,编写程序毫不费力,关键就在于算法的构建!