#include<iostream>
using namespace std;
int main(){
int n,a,b,sum; //其中 a 为 10 元的个数 b 为 5 元的个数
cin>>n; //要找的零钱。
if(n%10>5){ //a 表示的是 等差数列的项。
a=n/10;
}else{
a=n/10-1;
}
if((n-10)%5>0){ //b 表示的是最末项 表示的是只有一张10元的。
b=(n-10)/5;
} else{
b=(n-10)/5-1;
}
sum=a*(b-a+1); //通过等差数列的前n 项和求解。
cout<<sum<<endl;
system("pause");
}
int main(){
int n,a,b,c ,sum; //其中 a 为 10 元的个数 b 为 5 元的个数 c 为一元的个数
cin>>n; //要找的零钱。
a=n/10;
c=n%10;
if(c<=5){ //表示的是剩下的钱不够一张5元和一张1元
a--;
}
b=(n-10)/5;
c=(n-10)%5;
if(c==0){
b--;
}
sum=a*(b-a+1);
cout<<sum<<endl;
system("pause");
}
//换零钱2优化
#include<iostream>
using namespace std;
int main()
{
int count=0,x,i;
cin>>x;
x=(x-16)/5+1;//求5元面值张数的最大值,即10元张数=0时的方法数量 相当于最末项。
count=(x+1)*(x+1)/4;//等差求和 项数 =(x+1)/2
cout<<count<<endl;
system("pause");
}