题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入输出格式
输入格式:
输入包括两行数据。第一行包含 10 个 100到 200之间(包括 100 和 200 )的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100到 120 之间(包含 100和 120 )的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式:
输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
输入输出样例
输入样例#1:
100 200 150 140 129 134 167 198 200 111
110
输出样例#1:
5
说明
NOIP2005普及组第一题
循环写法
#include<cstdio>
using namespace std;
int main()
{
int i,k,x=0;
int a[10];
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
scanf("%d",&k);
for(i=1;i<=10;i++)
{
if(k+30>=a[i])
x++;
}
printf("%d",x);
return 0;
}
递归写法
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[101],n,s=0;
void fac(int i)
{
if(i<=10)
{
fac(i+1);
if(a[i]<=n)
s++;
}
}
int main()
{
int i;
for(i=1;i<=10;i++)
cin>>a[i];
cin>>n;
n+=30;
fac(1);
cout<<s;
return 0;
}