题目描述
Finn 非常喜欢 4 和 5,他认为所有的数都可以用 4 和 5 进行相加得出。
例:
14=5+5+4
20=4+4+4+4+4或 20=5+5+5+5
40=4+4+4+4+4+4+4+4+4+4或 40=4+4+4+4+4+5+5+5+5 或 40=5+5+5+5+5+5+5+5
当然,44 和 55 的顺序并不重要,重要的是他们的个数。
给你一个正整数 n,问有多少种方法可以用 4 和 5 拼凑成 n。
输入格式
一行,一个整数 n,表示要被拼凑的数。
输出格式
一行,表示方法的数量。如果这个数不能被拼凑,请输出 0。
输入输出样例
输入 #1复制
14
输出 #1复制
1
输入 #2复制
40
输出 #2复制
3
输入 #3复制
6
输出 #3复制
0
说明/提示
对于 20% 的数据:1≤n≤10
对于另外 15%的数据:11≤n≤105 并且保证 n≡0 (mod4)(
对于另外 15%的数据:1≤n≤105 并且保证n≡0 (mod5)
对于 100%的数据:1≤n≤106
代码:
#include<bits/stdc++.h>
using namespace std;
int a,b,c,ans;
int main(){
cin>>c;
a=c;
while(a>0){
c=a;
while(c>0){
c-=4;
}
if(c==0){
ans++;
}
a-=5;
}
if(a==0){
ans++;
}
cout<<ans;
return 0;
}
每次将c-5,再来判断四是否整除就可以了!
本题就这么简单!