0
1
已采纳
陆麟瑞
资深天翼
资深天翼
因为100的倍数一定是50的倍数,我们可以从一共有多少个50元来考虑,最小的情况可能是有0个50元,最多的情况可能是有n*100/50个50元
而每个50元可以拆成①10+10+10+10+10,②20+20+10,③ 20+10+10+10三种情况,100元的话可以拆成100/20+1共六种情况,150元的话可以拆成150/20+1共8中情况,以此类推。。。
所以最外层循环是50元的个数,从0到n*100/50,循环内,我们计算不是50元的那部分钱可以拆成多少种情况,然后累加起来得到最终结果
n*=100; for(int i=0; i<=n/50; i++) { ans+=(n-i*50)/20+1; }
最后输出ans即可。
0