Go: package main

import "fmt"

func main() {
	var v float64
	for {
		i, _ := fmt.Scan(&v)
		if i == 0 {
			break
		}
		t := v / 9.8
		y := 4.9 * t * t

		N := 0
		for {
			N++
			if height := 5*N - 5; float64(height) > y {
				fmt.Println(N)
				break
			}
		}
	}
}

C++: #include <cstdio>
int main()
{
    double v,h;
    double i=1;
    while(~scanf("%lf",&v))
    {
        h=v*v/(9.8*2);
        while(1)
        {
            if((i-1)*5>=h)
            break;
            i+=1;
        }
        //int j=(int)i;
        printf("%.0lf\n",i);
    }
    return 0;
}

C++: #include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    double v;

    while (scanf("%lf", &v) != EOF) {
        double ans = (v*v/98);
        if (v*v <= 49.0000000) {
            puts("1");
        } else if (ans - (int)ans < 0.0000001) {
            printf("%d\n", (int)ans + 1);
        } else {
            printf("%d\n", (int)ans + 2);
        }

    }

    return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

int main()
{ 
	double v;
	double y,t;
	int N;
        while(1){
		cin>>v;
 		if(cin.eof()) return 0;
		t=v/9.8;
		y=4.9*t*t;
                N=1+(int)y/5.0;
		if((double)5.0*(N-1)==N) cout<<N<<endl;
		else cout<<(N+1)<<endl;
	}
}

C++: #include<iostream>
using namespace std;
int main(void){
    double v,t,y;
    int N;
    while(cin >> v){
        t=v/9.8;
        y=4.9*t*t;
        N=y/5 + 5;
        cout << N-3 << endl;
    }
}

C++: #include<iostream>

int Gauss2(double x)
{
	int p=x;

	if(x==(double)p || x>0)
	{
		return p;
	}
	else
	{
		return p-1;
	}

}

int main()
{
	const double g = 9.8, HiPerStair = 5.0;

	double v;

	while(std::cin >> v)
	{
		std::cout << Gauss2(v*v/g/HiPerStair/2.0+1.0)+1 << '\n';
		//vが崩壊速度なので v^2 < 2*9.8*y　で壊れる nは階数として　y=HiPerStair*(n-1)　ｎを直接求める式
	}
}

C++: #include <stdio.h>

main()
{
  long double v,floar;
  int    i=0;

  while( scanf("%Lf",&v)!=EOF || i<50){
    floar = (v*v/98) + 1;
    if((floar-(int)floar) != 0){
      floar+=1;
    }
    printf("%d\n", (int)floar);
    i++;
  }

  return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{
long double v,n;
int N;
while(cin>>v)
{
n=(4.9*((v/9.8)*(v/9.8)))/5+1;
N=n*10000;	
if(N%10000==0)
{
	cout<<N/10000<<endl;
}
else if(N%10000!=0)
{
	cout<<N/10000+1<<endl;
}
}
return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double v;
int ans;
const double eps=1e-9;
int main()
{
    while(scanf("%lf",&v)!=EOF)
    {
        ans=ceil(v*v/19.8*0.2)+1;
        cout<<ans<<endl;
    }
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cmath>

#define rep(x,to) for(int x=0;x<to;x++)
#define rep2(x,from,to) for(x=from;x<to;x++)

using namespace std;


int main(void){

double v,wn;
int n;

	while(cin >> v ){
		double h = 4.9 * (v / 9.8) * (v / 9.8);
		n = ceil(( h + 5 ) / 5);
//		n = (int)wn;
//		n = n + (wn==n? 0: 1);
		cout << n << endl;
	}
	
	return 0;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <functional>
#include <set>
#include <sstream>
#include <map>

using namespace std;

const double eps=1e-10;

int main()
{
	double v;
	while(cin>>v){
		unsigned long long l=1,r=1e16,h;

		while(l+1!=r){

//			cout<<l<<" "<<r<<endl;

			h=(l+r)/2;
			double vv=2.0*9.8*(5*h-5);

			if(v*v>vv) l=h;
			else r=h;
		}
		if( abs(v*v-2.0*9.8*(5*l-5))<eps ) cout<<l<<endl;
		else cout<<r<<endl;

	}

	return 0;
}

C++: #include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    double v;

    while (scanf("%lf", &v) != EOF) {
        double ans = (v*v/98);
        if (v*v <= 49.0000000) {
            puts("1");
        } else if (ans - (int)ans < 0.000001) {
            printf("%d\n", (int)ans + 1);
        } else {
            printf("%d\n", (int)ans + 2);
        }

    }

    return 0;
}

C++: aaaaaaaa

C++: #define _USE_MATH_DEFINES
#include <iostream>
#include <queue>
#include <vector>
#include <math.h>
#include <algorithm>
#include <iomanip>
#include <string>
#include <stack>
#include <cctype>
#include <cstdlib>
using namespace std;

#define INF (1 << 20)
#define EPS (1e-10)
#define EQ(a,b) (fabs((a)-(b)) < EPS)

int main(){
	double v;
	while (cin >> v) {
		int n = 0;
		while (n - v * v / 98 + 1.0 < EPS) ++n;
		cout << n << endl;
	}
	return 0;
}

C++: #include<iostream>
#include<math.h>
using namespace std;

int main(){
	double limit;
	double t;
	double y;
	double n;
	while(cin >> limit){
		t = limit / 9.8;
		y = 4.9 * t * t;
		n = (int)((y+5)/5);
		cout << n << endl;
	}
	return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
	double v,t,y,ans;
	while(cin>>v){
		ans=1;
		t=v/9.8;
		y=4.9*t*t;
		while(y>5*ans-5)ans++;
		cout<<ans<<endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cmath>
#define eps 10e-9
using namespace std;

int main()
{
	double in;
	while(cin>>in)
	{
		double t=in/9.8;
		cout<<ceil((4.9*t*t+5)/5)<<endl;
	}
	return 0;
}

C++: #include <iostream>

using namespace std;

int main(void){

  double v;
  while( cin >> v ){

    double t = v / 9.8;
    double y = 4.9*t*t;

    for( int N = 1 ; N <= 1000 ; N++ ){
      if( 5 * N - 5 >= y ){
	cout << N << endl;
	break;
      }
    }

  }
  return 0;
}

C++: #include <stdio.h>

int main(){
  int n,N;
  double x,y,v,t;

  while(scanf("%lf",&v)!=EOF){

    t=v/9.8;

    y=4.9*t*t;
    
    for(n=0;y>=5*n-5;n++);

    N=n;
    
    printf("%d\n",N);
  }
  
  return 0;
  
}

C++: #include <algorithm>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <cctype>
#include <iostream>
#include <set>
#include <string>
#include <queue>
#include <map>
using namespace std;
int size(string x){
	string::size_type size=x.size();
	return size;
}
#define fu(l,k) for(int i=l;i<k;i++)
#define fd(l,k) for(int i=l;i>k;i--)
#define fi first
#define se second
typedef  vector<string> vs;
typedef  vector<int> vi;
double pi(){
	return M_PI;
}
typedef set<int> set_i;
typedef set<string> set_s;
int main(){
	double n,x,t,h;
	while(cin>>x){
		t=x/9.8;
		h=4.9*x*x/(9.8*9.8);
		n=h/5;
		if((int)h%5==0) cout<<(int)n+1<<endl;
		else cout<<(int)n+2<<endl;
	}
}

C++: #include <stdio.h>
using namespace std;
int main ()
{
    double v,t,y,n,i;
    while(scanf("%lf",&v)!=EOF){
        y=4.9*(v/9.8)*(v/9.8);
        for(i=1;;i++){
            if(y-5>0) y=y-5;
            else if(y-5<=0)break;
        }
        printf("%d\n",(int)i+1);
    }
    return 0;
}

C++: #include <iostream>
#include<cstdio>
using namespace std;

int main() {
	double v;
	while(~scanf("%lf",&v))
	{
		double t=v/9.8;
		t*=t*4.9;
		int c=1;
		double h=0.0;
		while(h<t)
		{
			h+=5.0;
			c++;
		}
		cout<<c<<endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;

double v;

void solve() {
    double y = v * v / 19.6;
    int N = ceil(y / 5.0 + 1);
    cout << N << endl;
}

int main() {
    while (cin >> v) {
        solve();
    }
    return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
	double v, y, t;
	int floor;

	while (cin >> v)
	{
		if(cin.eof())    break;

		t = v / 9.8;
		y = 4.9 * t * t;
	
		floor = int((y+5) / 5 + 0.9999999999);

		cout << floor << endl;
	}

	return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
	float v;
	while(cin >> v){
		float t = v / 9.8;
		float y = 4.9 * t * t;
		int i = 1;
		while(1){
			if(y <= 5*i-5) break;
			i++;
		}
		cout << i << endl;
	}
	return 0;
}