Go: package main

import (
        "fmt"
        "math"
)

func main() {
        var v, t, h float64
        for {
                _, err := fmt.Scanf("%f", &v)
                if err != nil {
                        break
                }
                t = v / 9.8
                h = 4.9 * t * t
                n := math.Floor(h/5+1.0) + 1.0
                fmt.Printf("%d\n", int(n))
        }
}

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;

		for(int i=0;i<1000;i++){

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

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

			if(v*v>vv) l=h;
			else if(v*v<vv) r=h;
		}

		if( v*v-(5*l-5)/4.9*9.8*9.8<=eps ) cout<<l<<endl;
		else cout<<r<<endl;

	}

	return 0;
}

C++: #include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
#define G 9.8
int main(){
	double v;
	while(cin>>v){
		v = pow(v,2);
		v = v/(2*G) + 5;
		v /= 5;
		cout<<((int)v+1)<<endl;	
	}
	return 0;
}

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

C++: #include <iostream>

using namespace std;

void solve()
{
	double velocity;
	while(cin >> velocity)
	{
		double time = velocity / 9.8;
		double height = 4.9 * time * time;
		int level = 0;
		cout << (unsigned long long int)((height + 5) / 5 + 1.0) << endl;
	}
}

int main()
{
	solve();
	return(0);
}

C++: #include <iostream>
using namespace std;
int main()
{
	double v ;
	while(cin >> v)
	{
		int N=1;
		while(1)
		{
			int y=N*5-5;
			if(v*v<=19.6*y) break;
			else N++;
		}
		cout << N << '\n' ;
	}
}

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

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    double v;
    while(cin>>v) {
        double y=v*v/19.6;
        int f;
        for(f=1; f*5-5<y; ++f);
        cout<<f<<'\n';
    }
    return 0;
}

C++: #include <set>
#include <map>
#include <list>
#include <queue>
#include <stack>
#include <cmath>
#include <ctype.h>
#include <ctime>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cctype>
#include <cstdlib>
#include <cstring>
#include <utility>
#include <numeric>
#include <complex>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <cassert>
#include <iostream>
#include <iterator>
#include <algorithm>

using namespace std;

#define REP(i, x, n) for(int i = x; i < n; i++)
#define rep(i, n) REP(i, 0, n)
#define lengthof(x) (sizeof(x) / sizeof(*(x)))
#define FILL(ptr, value) FILL_((ptr), sizeof(ptr)/sizeof(value), (value))
template <typename T>
void FILL_(void * ptr, size_t size, T value){
  std::fill((T*)ptr, (T*)ptr+size, value);
}
//4方向ベクトル→↑←↓
int dx[] ={1,0,-1,0};
int dy[] ={0,-1,0,1};
double speed;
int main()
{
  double height;
  while(cin>>speed){
    height = (pow(speed,2))*5/98;
  int n = 1;
  while(5*n-5<height){
    n++;
  }
  cout <<n<<endl;
  }
  return 0;
}

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

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

C++: #include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <cmath>
#include <stack>
#include <vector>
#include <map>
#include <iostream>


using namespace std;

int main()
{
	double v;
	while (scanf("%lf", &v) != EOF)
		printf("%d\n", (int)(4.9*pow(v/9.8, 2)/5 + 0.99)+1);
	return 0;
}

C++: #include <cstdio>

using namespace std;

double y,v;

int main()
{
    while ( scanf( "%lf\n", &v ) != EOF )
    {
        y = v * v / 4 / 4.9;;
        int f = 1,h = 0;
        while( h < y )
        {
            f++;
            h += 5;
        }
        printf( "%d\n", f );
    }
    return 0;
}
/* 比較演算子に型の統一は不要。 */

C++: #include <bits/stdc++.h>
using namespace std;

#define iota(i,n,b,s) for(int i=int(b);i!=int((b)+(s)*(n));i+=(s))
#define range(i,n,m) iota(i,(((n)>(m))?((n)-(m)):((m)-(n))),(n),((n)>(m)?-1:1))
#define rep(i,n) iota(i,(n),0,1)
#define loop for(;;)

#define INF (1e9)
#define EPS (1e-9)
#define cons(a,b) (make_pair(a,b))
#define car(a) (a.first)
#define cdr(a) (a.second)
#define cadr(a) (car(cdr(a)))
#define cddr(a) (cdr(cdr(a)))
#define all(a) a.begin(), a.end()
#define trace(var) cerr<<">>> "<<#var<<" = "<<var<<endl;

typedef long long Integer;
typedef double Real;
typedef vector<int> vi;
typedef vector<string> vs;
typedef map<string,int> Dictionary;
const Real PI = acos(-1);

template<class S, class T>
ostream& operator<<(ostream& os, pair<S,T> p) {
  os << '(' << car(p) << ", " << cdr(p) << ')';
  return os;
}

template<class T>
ostream& operator<<(ostream& os, vector<T> v) {
  os << v[0];
  for (int i=1, len=v.size(); i<len; ++i) os << ' ' << v[i];
  return os;
}

int dx[] = { -1, 0, 1, 0 };
int dy[] = {  0, -1, 0, 1 };

int main() {

  loop {
    Real v; cin >> v;
    if (!cin) break;
    for (int n=1;;++n) {
      Real y = 5 * n - 5;
      Real v2 = 2.0 * 9.8 * y;
      if (v2 >= v * v) {
        cout << n << endl;
        break;
      }
    }
  }
  return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main(){
  double v;
  while(cin >> v){
    cout << ceil(v*v/(9.8*5.0*2.0)+1) << endl;
  }
  return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
double t,v,y;
while(cin >> v,!cin.eof()){
t=v/9.8,y=4.9*t*t;
cout << (int)y/5+2 << endl;
}
return 0;
}

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

int main(){
	double v;
	while(cin >> v){
		double 	t=v/9.8;
		int n=1;
		while(5*n-5 <= 4.9*t*t) ++n;
		printf("%d\n", n);
	}
	return 0;
}

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

int main(){
  double minv;
  while(cin >> minv){
    double t = minv/9.8;
    double height = 4.9 * t * t;
    int floor = height/5.0 + 1;

    //切り上げ
    double remainder = height - (floor-1) * 5.0;
    if(remainder>0) floor++;
    cout << floor << endl;
  }
  return 0;
}

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

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);

	double v;
	while(cin >> v){

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

		// y = n * 5 - 5
		int n = 0;
		if(int(y + 5) % 5 == 0) n = (y + 5) / 5;
		else n = (y + 5) / 5 + 1;

		cout << n << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>	// require sort next_permutation count __gcd reverse etc.
#include <cstdlib>	// require abs exit atof atoi 
#include <cstdio>		// require scanf printf
#include <functional>
#include <numeric>	// require accumulate
#include <cmath>		// require fabs
#include <climits>
#include <limits>
#include <cfloat>
#include <iomanip>	// require setw
#include <sstream>	// require stringstream 
#include <cstring>	// require memset
#include <cctype>		// require tolower, toupper
#include <fstream>	// require freopen
#include <ctime>		// require srand
#define rep(i,n) for(int i=0;i<(n);i++)
#define ALL(A) A.begin(), A.end()

using namespace std;

typedef long long ll;
typedef pair<int, int> P;

int main()
{
//	cut here before submit 
//	freopen ("testcase.dat", "r", stdin );
	string str = "";
	while (getline (cin, str ) ){
		stringstream ss (str );
		double v;
		ss >> v;
		double t = v/9.8;
		double y = 4.9*t*t;
		int N = ceil ((y + 5.) / 5. );
		cout << N << endl;
	} // end loop
		
	return 0;
}

C++: #include <iostream>
using namespace std;
int main()
{
	double v;
	while (cin >> v)
	{
		if (cin.eof()) break;
		cout << int((4.9*(v/9.8)*(v/9.8))/5.0+1.9999) << endl;
	}
}