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 <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define P pair<int,int>
#define FOR(I,A,B) for(ll I = ll(A); I < ll(B); ++I)

int main(){
	
	ll ans = 100000;
	ll n;
	cin >> n;
	FOR(i,0,n){
		ans *= 105;
		ans /= 100;
		if(ans%1000){
			ans /= 1000;
			ans *= 1000;
			ans += 1000;
		}
	}
	cout << ans << endl;
}

C++: #include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

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

    int ret = 100000;
    for(int i=0; i<n; ++i){
        (ret /= 100) *= 105;
        if(ret % 1000 > 0){
            ret /= 1000;
            ++ ret;
            ret *= 1000;
        }
    }
    cout << ret << endl;
    return 0;
}

C++: #include <iostream>
#include <algorithm>
#define MAX 100
using namespace std;

int main(){
	int n;
	int total = 100000;
	
	cin >> n;
	
	for(int i = n; i > 0; i--){
	total = total + (0.05 * total);
	if(total % 1000 != 0){
		total = total - (total % 1000);
		total = total + 1000;
	}
	}
	cout << total << endl;
	
	return 0;
}

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

int main(){
    int n;
    cin >> n;
    int p = 100;
    for(int i=0; i<n; i++){
        p=ceil(p*1.05);
    }
    cout << p*1000 << endl;
}

C++: #include<iostream>
using namespace std;
int main(){
    int n;
    int debt = 100000;
    cin >> n;
    for(int i = 0;i < n; i++){
        debt *= 1.05;
        if(debt % 1000 != 0){
            debt /= 1000;
            debt *= 1000;
            debt += 1000;
        }
    }

    cout << debt << endl;
    return 0;
}

C++: #include<iostream>

using namespace std;

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

C++: #include<iostream>

using namespace std;
int Weeks;
int Debt = 100000;
int Interest;

int Rounded (int x)
{
    int Remain,y;
    if(x%1000!=0)
    {
        Remain = x%1000;
        y = x-Remain;
        y = y+1000;
        return y;
    }
    else
    {
        return x;
    }

}
int main()
{
    cin >> Weeks;
    for(int z = 0; z < Weeks; z++)
    {
        Interest = Debt * 1.05;
        Interest = Rounded(Interest);
        Debt = Interest;


    }


    cout << Interest << endl;
}

C++: #include <iostream>

using namespace std;

int main() {

	double money = 100000;
	int n;

	cin >> n;

	for (int i = 1; i <= n; i++) {
		//???????????????
		money *= 1.05;
		//1000??????????????°?????????
		double miman = money - ((int)(money*0.001)) * 1000.0;
		if (miman > 0) {
			money = money - miman + 1000.0;
		}
	}

	cout << money << endl;

	return 0;

}

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

int main()
{
    int n;
    double debt;
    while(std::cin >> n)
    {
        debt = 100000;
        for(int i = 0; i < n; ++i)
        {
            debt += debt / 20;
            debt /= 1000;
            debt = std::ceil(debt);
            debt *= 1000;
        }
        std::cout << debt << std::endl;
    }
    return 0;
}

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

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

C++: #include<iostream>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<numeric>
#include<climits>
#include<ctime>
#include<cstring>
#define REP(i,p,n) for(int i=p;i<(int)(n);i++)
#define rep(i,n) REP(i,0,n)
#define rep_split(tok,a_str,re) for(char *tok = strtok((char *)a_str.c_str(),re); tok != NULL; tok = strtok(NULL,re))
#define all(c) (c).begin(), (c).end()

using namespace std;
template<class T> inline void chmax(T& a, T b) { if(b > a) a = b; }
template<class T> inline void chmin(T& a, T b) { if(b < a) a = b; }

int main() {
	int N;
	double money = 100000;

	cin >> N;
	rep(i,N) {
		money = (money + money * 0.05);
		money = (int) ceil(money/1000) * 1000;
	}
	cout << money << endl;
	
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int n;
  cin >> n;
  int money = 100000;
  for(int i=0;i<n;i++){
    money += (int)(money * 0.05);
    int cp = money;
    while(cp - 1000 >= 0){
      cp -= 1000;
    }
    money -= cp;
    if(cp != 0){
      money+=1000;
    }
  }
  cout << money << endl;;
}

C++: 

#include <algorithm>
#include <cassert>
#include <cctype>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>

using namespace std;
int main()
{
	int a = 100000;
	int s;
	cin >> s;
	for (int i = 0; i < s; i++)
	{
		a *= 1.05;
		if (a % 1000 == 0) {
			a = a - (a % 1000);
		}
		else { a = a - (a % 1000) + 1000; }
	}
	cout << a << endl;
	return 0;
}

C++: #include <iostream>
#include <string>
#include <stack>
#include <math.h>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <vector>

using namespace std;






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


}

C++: 
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <string>
#include <vector>
#include <set>
#include <map>
#define pi 3.14159265358979323846264338
using namespace std;

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

C++: #include <stdio.h>
#include <string>
#include <string.h>
#include <cstring>
#include <algorithm>

const float a=1.05;
float bulat=1000;

using namespace std;



int main(void)
{
	int debt,week;
	scanf("%d",&week);
	debt=100000;
	for(int loop=1;loop<=week;loop++)
	{
		debt*=a;
		if(debt%100!=0)
		{
			debt=debt-(debt%1000)+1000;
		}
	}
	printf("%d",debt);
	return 0; 
}

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

int main(void)
{
  int debt = 100000;

  int n;
  scanf("%d", &n);

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

  printf("%d\n", debt);

  return 0;
}

C++: #include <iostream>

auto main () -> int
{
    auto z = 100000;
    int n;
    std::cin >> n;
    for (auto i = 0; i < n; ++ i)
    {
        auto d = z / 100 * 5; // 5%
        if (d % 1000)
        {
            d += 1000 - d % 1000;
        }
        z += d;
    }
    std::cout << z << std::endl;
}

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

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