Go: package main

import (
        "fmt"
        "math"
)

var interests [101]float64

func main() {
        var m int
        fmt.Scanf("%d", &m)
        fmt.Printf("%d\n", int(math.Ceil(interest(m)*10))*10000)
}

func interest(m int) (i float64){
        if interests[m] > 0 {
                return interests[m]
        }

        if m == 0 {
                interests[0] = 1.0
                return interests[0]
        }

        if m == 1 {
                interests[1] = 1.05
                return interests[1]
        }
        interests[m] = interest(m/2) * interest(m/2) * interest(m%2)
        return interests[m]
}

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

int main(){
  int n;
  double ans;
  double check;

  scanf("%d",&n);
  ans = 100000;
  for(int i=0;i<n;i++){
  ans = ans*1.05;
  }

  check = ceil(ans / 10000);
  ans = check*10000;

  printf("%d\n",int(ans));
  return 0;
}

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

int main(void){
	int debt=100000;
	int n;
	cin >> n;
	for(int i=0; i<n; i++){
		debt *= 1.05;
		if(debt%1000!=0) debt=(debt/1000)*1000+1000;
	}
	cout << debt << endl;
}

C++: #include<iostream>
//#define DEBT 100000

using namespace std;

main(){
int inNum,i;
int debt = 100000;

cin>>inNum;
for(i = 0; i < inNum; i++){
debt*=1.05;
debt/=10000;
debt+=1;
debt*=10000;
}
cout<<debt<<endl;
}

C++: #include <iostream>

int main() {
	int nWeeksLater;
	std::cin >> nWeeksLater;

	const int first = 100000;
	int interest = first * 0.05;
	int loan;

	for (int i = 0; i < nWeeksLater; i++)
		loan = first + interest * nWeeksLater;

	int a = loan / 10000;
	loan = loan % 10000 >= 5000 ? (a + 1) * 10000 : a * 10000;

	std::cout << loan << std::endl;
}

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

int main(){
	int n, i, total = 100000;

	cin >> n;
	for(i = 0; i < n; i++){
		total = total * 1.05;
		if(total % 1000 != 0){
			total += 1000 - (total % 1000);
		}
	}
	cout << total << endl;

	return 0;
}

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

#define FOR(i,l,r) for(int i = (l);i < (r);i++)
#define ALL(x) (x).begin(),(x).end()
template<typename T> bool chmax(T& a,const T& b){return a < b ? (a = b,true) : false;}
template<typename T> bool chmin(T& a,const T& b){return b < a ? (a = b,true) : false;}
typedef long long ll;

int N;

int main()
{
	scanf("%d",&N);
	ll money = 1e5;

	FOR(i,0,N){
		money *= 1.05;
		money = (money + 999) / 1000 * 1000;
	}

	printf("%lld\n",money);

	return 0;
}

C++: #include<iostream>
#include<math.h>

using namespace std;

int main(){
    int week, fraction;

    while (cin >> week)
    {
        double debt = 100000;
        double const rate = 1.05;

        for (int i = 0; i < week; i++){
            debt = debt*rate;
            fraction = (int)debt % 1000;

            if (fraction != 0){
                debt = debt + 1000 - fraction;
            }
        }
        cout << debt << endl;
    }

    return 0;
}

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

int main(){
    int a;
    cin >> a;
    int b = 100;
    for (int i=0;i<a;i++){
        b = (int)ceil(b*1.05);
    }
    cout << b*1000 << endl;
//    cout << int(1.999) << int(2.000) << endl;
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int week,kiri,kane=100000,i;
	cin>>week;
	for(i=0;i<week;i++){
		kane=(double)kane*1.05;
		kane=kane+999;
		kiri=kane%1000;
		kane=kane-kiri;
	}
	cout<<kane<<endl;
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
    int n , syattukin = 100000;
    cin >> n;
    for(int i = 0; i < n ; ++i){
        syattukin = syattukin*1.05;
        if(syattukin%1000 != 0 ){
            syattukin = syattukin/1000*1000 + 1000;
        }
    }
    cout<<syattukin<<endl;
}

C++: #include <iostream>
#include <math.h>

int calcDebt(int debt){
	double tmp = debt * 1.05;
	int result = (int) ceil(tmp);
	if(result % 1000 == 0){
		return result;
	}else{
		return (result / 1000 + 1) * 1000;
	}
}
int main() {
	int result = 100000;
	int n;
	scanf("%d", &n);
	for(int i=0; i<n; i++){
		result = calcDebt(result);
	}
	printf("%d\n", result);
	return 0;
}

C++: //#define _USE_MATH_DEFINES
#include <iostream>
//#include <stdio.h>
//#include <iomanip>
#include <vector>
//#include <string>
//#include <algorithm>
//#include <functional>
//#include <cmath>

using namespace std;


long money(long m,int n){
	//5%?????? + 1000??????????????????
	const int u = 1000;

	if (n <= 0){
		return m;
	}
	else{
		m = m * 1.05;
		m = (m + u - 1) / u * u;
		n--;
		money(m, n);
	}
	
}


int main(){

	int n;
	long m = 100000;

	cin >> n;

	m = money(m, n);


	cout << m << endl;


	return 0;
}

C++: #include <stdio.h>
#include <math.h>

int main(void){
	int l = 100000;
	float tl = 0.0;
	int n = 0;
	scanf("%d", &n);
	for(int i=0;i<n;i++){
		l = (int)(ceilf(l * 1.05f / 1000) * 1000);
	}
	printf("%d\n", l);
	return 0;
}

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

int main(int argc, char const* argv[])
{
	int debt = 100000;
	int n;
	cin >> n;

	for (int i = 0; i < n; ++i) {
		debt *= 1.05;
		debt += debt % 1000 != 0? 1000 : 0;
		debt -= debt % 1000;
	}
	cout << debt << endl;

	return 0;
}

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

int main()
{
    int week;
    cin >> week;

    double pay = 100.0;
    for(int i = 0; i < week; i++)
    {
        pay = ceil(pay * 1.05);
    }
    cout << static_cast<int>(pay * 1000) << endl;
}

C++: #include<iostream>
#include<math.h>

using namespace std;

int main(void) {
	int src = 100;
	int a;
	cin >> a;
	
	for(int i=0; i<a; i++) {
		src = ceil(src*1.05);
	}
	
	cout << src * 1000 << endl;
	
	return 0;
}

C++: #include <iostream>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <iomanip>
#include <fstream>
#include <cstdint>
#include <cmath>
#include <algorithm>
#include <utility>
#include <numeric>
#include <functional>
using namespace std;

constexpr int INF       = 1000000000;/* 1e+9a */
constexpr int MODULO    = 1000000007;

#define int long

#define REP(i,f,n) for(int i=(f); i < (n); ++i)
#define PER(i,f,n) for(int i=(n-1); i >= f; --i)

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

//----------------------------------
//----------------------------------

template<typename STL> inline void print_STL(STL c, string ab = ""){
	cout << ab << c[0];
	for(int i = 1; i < c.size(); ++i) cout << ' ' << c[i]; }

template<typename STL> inline void import_STL(STL& c, int n){
	typename STL::value_type tmp;
	for(int i = 0; i < n; ++i){	cin >> tmp; c.push_back(tmp);} }

signed main()
{
	cin.tie(0);
    ios::sync_with_stdio(false);
	int n;
	cin >> n;
	int total = 100000;
	REP(i, 0, n)
	{
		total += total / 20;
		if(total % 1000)
			total += 1000 - total % 1000;
	}
	cout << total << '\n';
}

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

int main()
{
	int i,n,debt;
	debt = 100000;
	
	cin >> n;
	
	for(i=n; n>0; n--){
		debt = debt * 1.05;
		
		if(debt%1000!=0){
			debt = debt / 1000;
			debt = debt * 1000 + 1000;
		}
	}
	
	cout << debt;
	
	return 0;
}

C++: 
#include<iostream>
int main()
{
	double debt = 100000, add, p = 0.05;
	int n;
	std::cin >> n;
	for (int i = 0; i < n; i++)
	{
		add = (double)(int)(((debt * 0.05) / 1000) + 0.999) * 1000;
		debt += add;
	}
	std::cout << debt;
	return 0;
}

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

int main()
{
	int n;
	int debt = 100000;
	cin >> n;
	for (int i = 0; i < n; i++){
		debt = debt * 1.05;
		if (debt % 1000 > 0)
			debt = debt / 1000 * 1000 + 1000;
	}
	cout << debt << endl;
	return 0;
}

C++: 

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main(void) {
	int n;
	double sum;

	sum = 100000;

	cin >> n;

	for (int i; i < n; i++){
		sum = ceil((sum * 1.05)/1000) * 1000;
	}

	cout << (int)sum << endl;

	return 0;
}