Go: package main
import (
	"fmt"
	"os"
	"strconv"
	"bufio"
	"math"
)

var sc = bufio.NewScanner(os.Stdin)

func main(){
	sc.Split(bufio.ScanWords)
	n := nextInt()
	ans := calc(n)
	fmt.Println(ans)
}

func calc(n int) float64{
	tmp := 100000.0
	for i:=0; i<n; i++{
		tmp+=tmp*0.05
	}
	return Round(tmp, -4)
}

func Round(f float64, places int) float64{
	shift := math.Pow(10, float64(places))
	return math.Floor(f * shift+.5)/shift
}

func next()string{
	sc.Scan()
	return sc.Text()
}

func nextInt()int{
	a, _ := strconv.Atoi(next())
	return a
}

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

#define ll (long long)
#define REP(i,n) for(int i = 0;i<(int)n;i++)
#define FOR(i,a,b) for(int i = (a);i < (b);i++)
#define RFOR(i,a,b) for(int i = (a);i>(b);i--)


using namespace std;


int main(void)
{
    int n;
    int money = 100000;
    cin >> n ;
    FOR(i, 1,n+1 )
    {
        money += money*0.05;
        if(money % 1000 != 0)
            money += 1000 -  (money % 1000);
    }

    cout << money << endl;
    return 0;
}

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

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

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

void test();
int  interest(int debt, float interest_rate, int n);

int main(void)
{
	test();
	return 0;
}


void test()
{
	int debt,n;
	double money;
	float interest_rate;
	debt = 100000;
	interest_rate = 1.05;
	cin >> n;

	debt = interest(debt, interest_rate, n);

	money = (double) debt / 1000;// 1000?????\???????°???°?????\??????

	money = ceil(money) * 1000;// ?°???°?????\?????????????????????????????????

	debt = money;

	cout << debt << endl;
}

int interest(int debt, float interest_rate,int n)//?????°??¢??°
{

	if (n == 1)
		return debt * interest_rate;
	else
		return interest(debt, interest_rate, n - 1) * interest_rate;
}

C++: #include<stdio.h>

int main(){
	
	int n,m=100000,s=0;
	
	scanf("%d",&n);
	
	for(int t=0;t<n;t++){
		
		m=m*1.05;
		
		if(m%1000!=0){
			s=m%1000;
			m=m+1000-s;
		}
		//printf("%d\n",m);
	}
	
	printf("%d\n",m);
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <algorithm>
#include <complex>
using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;

#ifndef typeof
#define typeof __typeof__
#endif // typeof

#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(typeof((c).rbegin()) i = (c).rbegin(); i != (c).rend(); i++)
#define repby(i, a, b, step) for(typeof(b) i = (a); i < (b); i += (step))
#define repab(i, a, b) repby(i, (a), (b), 1)
#define rep(i, n) repab(i, 0, (n))
#define pb push_back
#define sz(c) int((c).size())


int main(int argc, char **argv)
{

  int n;

  while (cin >> n) {
    int debt = 100000;
    while (n--) {
      int interest = debt / 100 * 5;
      if (interest%1000)
        interest = (interest / 1000 + 1) * 1000;
      debt = debt + interest;
    }
    cout << debt << endl;
  }

  return 0;
}

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

using namespace std;

int main() {
    int n;
    double debt = 100000;

    cin >> n;

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

    debt /=10000;
    debt = round(debt);

    cout << int (debt * 10000) << endl; 

    return 0;
}

C++: #include <stdio.h>

int main(void) {
	int i,n,mon = 100000;
	scanf("%d",&n);
	for(i = 0; n > i; i++){
		mon *= 1.05;
		mon += 999;
		mon = (int)(mon/1000)*1000;
	}
	printf("%d\n",mon);
	return 0;
}

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;
}