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)*100))*1000)
}

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<stdio.h>
#include<math.h>


int main()
{
	int debt = 100000;
	int n, i;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		debt = debt*1.05;
		debt = debt / 1000.0;
		if (debt % 10 >0)debt = debt / 1 + 1;
		debt = debt * 1000;
	}
	printf("%d\n", debt);
	return 0;
}

C++: #include <cstdio>
 
using namespace std;
 
int main() {
 int n = 0;
 double N = 0;
 int M = 100;
 int L = 100;
 scanf("%d", &n);
 for (int i = 0; i < n; i++) {
  N = L;
  N = M;
  N *= 1.05;
  N -= M;
  L += N;
 
  while (N> 1){
    N -= 1;
  }
 
  if (N > 0) {
    L += 1;
   }
}
 
L *= 1000;
printf("%d", L);
 
return 0;
}

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

using namespace std;

int main() {
	int n;
	while (scanf("%d", &n) != EOF) {
		double ans = 10;
		while (n--) {
			ans = ans * 1.05;
		}
		printf ("%d0000\n", (int)(ans+1.0));
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int main(){
	long n, result = 100000;

	cin >> n;

	for(int i = 0; i < n; i++) {
		result *= 1.05;
		if(result % 1000 != 0) {
			result += 1000;
			result -= result % 1000;
		}
	}

	cout << result << endl;

	return 0;
}

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

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

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

int main()
{
  int n;
  int amount = 100000;

  cin >> n;

  for(int i=0; i<n; i++) {
    amount = amount * 1.05;
    if(amount % 1000 != 0) {
      amount = amount + 1000 - amount % 1000;
    }
  }

  cout << amount << "\n";

  return 0;
}

C++: 13530000

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

int main()
{
	double monthlyPayment;
	double balance;
	double interestRate;
	int month = 1;

	cout.setf(ios::fixed);	// These lines force currency format in output to 2 decimal pts
	cout.setf(ios::showpoint);
	cout.precision(2);

	cout << "Enter the current balance of your loan: $";
	cin >> balance;
	cout << "Enter the interest rate (compounded monthly) : ";
	cin >> interestRate;
	cout << "Enter the desired monthly payment : $";
	cin >> monthlyPayment;
	
	while (interestRate >= 1)
	{ 
		interestRate = interestRate / 100; 
	}

	balance = balance * (1 + interestRate / 12) - monthlyPayment;
		
        // this is where the program stops. 

	cout << "After month 1 your balance is $" << balance << endl;

	while (balance > 0)
	{
		balance = balance * (1 + interestRate / 12) - monthlyPayment;
		
		month = month++;

		cout << "After month " << month << ", your balance is : $" << balance << endl;
	}

	cout << "You have paid off the loan at this point. Congratulations!" << endl;


	return 0;

C++: #include <iostream>

using namespace std;

int main(void)
{
    int i;
    int n;
    int debt;
    
    cin >> n;
    
    debt = 100000;
    for (i = 0; i <= n; i++) {
        debt += 5000;
    }
    cout << debt << endl;
    
    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)+1):((m)-(n)+1)),(n),((n)>(m)?-1:1))
#define rep(i,n) iota(i,(n),0,1)

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

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() {

  int n; cin >> n;
  Real c = 100;
  while (n--) {
    c = ceil(c * 1.05);
  }
  cout << int(c) * 1000 << endl;

  return 0;
}

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

using namespace std;

int main(int argc, char const* argv[])
{
  int weeks;
  cin >> weeks;

  int debt = 100;
  for (int i = 0; i < weeks; i++) {
    debt = ceil(debt * 1.05);
  }

  cout << debt * 1000 << 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 = money * 105 / 100;
		money = ((money + 999) / 1000) * 1000;
	}
	cout << money << endl;
	return 0;
}

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

C++: //
//  main.cpp
//  CppTest
//
//  Created by Ryu on 2017/02/08.
//  Copyright ?? 2017??´ Ryu. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;

int main(int argc, const char * argv[]) {
    // insert code here...
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    long n = 0;
    cin >> n;
    
    long rest = 100000;
    for (int i = 0; i < n; i++) {
        rest *= 1.05;
        if(rest % 1000 != 0){
            rest = rest + 1000 -  rest % 1000;
        }
    }
    
    
    
    printf("%ld\n", rest);
    
    return 0;
}

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

int n;
double rent = 100000;

int main()
	{
		cin>>n;
		for(int i=0;i<n;i++)
		{
		 rent = rent *1.05 ;
		 rent = rent /1000;
		 rent = rent + 0.9;
		 rent = (int)rent;
		 rent *= 1000;
		}
		printf("%.0lf",rent);
		return 0;
	}

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

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

    long loan = 100000;

    for (int i = n; i > 0; i--) {
        loan = ceil((loan * 1.05) / 1000.0) * 1000;
    }

    cout << loan << '\n';
}

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

int main(){
	int n;
	int m = 100000;
	cin >> n;
	for(int i = 0; i < n; ++i){
		m = (m*1.05+999)/1000;
		m = m*1000;
	}
	cout << m;
	return 0;
}

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

int main()
{
    int n, i;
    float Kdebt = 100;
    
    scanf("%d", &n);
    
    for (i = 1; i <= n; i++) {
        Kdebt = ceil(Kdebt * 1.05);
    }
    
    printf("%d\n", (int)Kdebt * 1000);
    
    return 0;
}

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

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

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

using namespace std;

void keisan(int *n){
	int kari1,kari2;

	kari1 = *n * 1.05;
	if((kari1 % 1000) > 0) {
		kari2 = kari1 / 1000;
		*n = kari2 * 1000 + 1000;
	} else {
		*n = kari1;
	}
}

int main() {
	int syakkin = 100000;
	int a;

	cin >> a;

	for (int i = 0; i < a; i++){
		keisan(&syakkin);
	}

	cout << syakkin << endl;

	return 0;

}

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

int n;//n週間
double sum;//n週間後の借金

int main(){
  sum = 100000;
  scanf("%d",&n);
  for(int i= 0;i < n;i++){
    sum += 0.05*sum;
    sum = ceil(sum/1000)*1000;
}
  
  int ans =(int)sum;
  printf("%d",ans);
}