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 <bits/stdc++.h>

const static double	de_PI	= 3.14159265358979323846;
const static int	de_MOD	= 1000000007;
const static int	de_MAX	= 999999999;
const static int	de_MIN = -999999999;

int main(void) {

	//std::ifstream in("123.txt");	std::cin.rdbuf(in.rdbuf());

	int a = 0;
	std::cin >> a;

	double n = 100000;
	for (int i = 0; i < a; i++) {
		n = n*1.05;
		n = static_cast<int>((n / 1000) + 0.999);
		n = n * 1000;
	}

	std::cout << n << std::endl;
}

C++: #include <algorithm>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <cctype>
#include <iostream>
#include <set>
#include <string>
#include <queue>
#include <map>
using namespace std;
int size(string x){
	string::size_type size=x.size();
	return size;
}
#define fu(l,k) for(int i=l;i<k;i++)
#define fd(l,k) for(int i=l;i>k;i--)
#define fi first
#define se second
typedef  vector<string> vs;
typedef  vector<int> vi;
double pi(){
	return M_PI;
}
typedef set<int> set_i;
typedef set<string> set_s;
int main(){
	int n;
	int ss=100000;
	cin>>n;
	fu(0,n){
		ss=ss*1.05;
		if(ss%1000!=0) ss=ss/1000*1000+1000;
	}
	cout<<ss<<endl;
}

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

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

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

C++: #include <iostream>

int main()
{
    int n, debt = 100000;
    std::cin >> n;
    for (int i = 0; i < n; ++i) {
        debt *= 1.05;
        int r = debt % 1000;
        if (r) debt += 1000 - r;
    }
    std::cout << debt << std::endl;
}

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

using namespace std;

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

    return 0;
}

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

int main() {
    int debt = 100000, n;
    cin >> n;

    while (n--) {
        debt *= 1.05;
        debt = (debt + 999) - (debt + 999) % 1000;
    }

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

C++: #include <stdio.h>

int main(void){
int n;
scanf("%d",&n);
int coin=100000;
for(int m=0;m<n;m++){
coin+=coin*0.05;
coin=(coin/1000)+(coin%1000)>0? 1000:0;
}
printf("%d\n",coin);
return 0;
}

C++: 
#include <iostream>
#include <stdlib.h>
using namespace std;
int search(int lim,int money)
{
    money=money*1.05;	
    if(money%1000>0)
    {
        money/=1000;
		money+=1;
        money*=1000;
    }
    if(lim==1)
        return money;	
    search(lim-1,money);
}
int main()
{    
	int n;     
    cin >> n ;	
    int ans = search(n,100000);	
    cout << ans << endl;
}

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

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

	return 0;
}

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

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

C++: //http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0007
#include <iostream>
using namespace std;
int main() {
	cin.tie(0); ios::sync_with_stdio(false);
	int n; cin >> n;
	double debt = 100000;
	for (int i = 0; i < n;i++) {
		debt *= (1.05);
	}
	if ((int)debt % 10000 != 0) {
		debt = ((int)debt / 10000) * 10000 + 10000;
	}
	cout << (int)debt << endl;
}

C++: #include <iostream>
#include <cmath>
using namespace std;
int main() {
  float sum;
  int n;
  while (cin >> n) {
    sum = 100000;
    for (int i = 0; i < n; i++) {
      sum *= 1.05;
      sum = ceil(sum / 1000) * 1000;
    }
    cout << (int)sum << 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 << pay * 1000 << endl;
}

C++: #include<iostream>
#include<string>
#include<algorithm>
using namespace std;
main(){
	int a=100000,n;
	cin>>n;
	for(int i=1;i<=n;++i){
		a*=1.05;
		if(a%1000>0){
			a/=1000;
			a++;
			a*=1000;
		}
	}
	cout<<a<<endl;

}

C++: #include <iostream>

#define N (10000)

int debt(const int amount, const int weeks)
{
    int ret;
    int fraction; /* 1000円未満額の端数 */
    
    ret = amount;
    for (int i = 0; i < weeks; i++){
        // 利子計算
        ret *= 1.05;
    }
    
    fraction = ret % N;
    
    ret /= N;  // 切り捨てて
    if (fraction != 0){
        // 端数があるなら
        // 切り上げる
        ret++;
    }
    ret *= N;
    
    return ret;
}

int main()
{
    int n;
    
    std::cin >> n;
    
    std::cout << debt(100000, n) << std::endl;
    
    return 0;
}

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

int main() {
  int n;
  cin >> n;
  int A=pow(10,5);
  for (int i=0; i<n; i++) {
    A*=(1.05);
  }
  
  printf("%d\n",(A+9999)/10000*10000);
  return 0;
}

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

using namespace std;

int main(){
    int weeks;
    double money = 100.0;
    cin >> weeks;

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

    cout << int(money*1000) << endl;

    return 0;
}

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

int Up(int a){
	return (a / 1000) * 1000 + 1000;
}

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

C++: #include<bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
int main(){
  int n,ten1=100000,ten2;
  cin>>n;
  rep(i,n){
    ten1+=ten1/20;
  }
  ten2=ten1/10000*10000;
  if(ten1!=ten2)ten2+=10000;
  cout<<ten2<<endl;
}

C++: #include<stdio.h>
int main(void)
{
	int n;
	int i;
	int s;
	s=100000;

	while(scanf("%d",&n)!=EOF){
		for(i=0;i<n;i++){
			s=s*1.05;
			if(s%1000!=0){
				s=s-s%1000;
				s=s+1000;
			}
		}
		printf("%d\n",s);
	}
	return 0;
}

C++: #include<stdio.h>
#include<math.h>
 
int main(){
    int a;
    scanf("%d",&a);
    int b=100000;
    for(int i=0;i<a;i++){
        b*=1.05;
        if(b%1000!=0)b=(b/1000+1)*1000;
    }
    printf("%d\n",b);
}

C++: #include <iostream>

using namespace std;

static const int ROUND = 1000;

int weeks;
double loan = 100000;
int rishi = loan * 0.05;
int temp;

int main(){
  scanf("%d", &weeks);
  while (weeks != 0){
      loan = loan + rishi;
      temp = loan/ROUND;
      loan = (temp+1) * ROUND;
      weeks--;
  }
 cout << loan << endl;
 return 0;   
}

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

int main() {
  int n;
  cin >> n;
  int A=pow(10,5);
  for (int i=0; i<n; i++) {
    A*=(1.05);
    A=(A+999)/1000*1000;
  }
  printf("%d\n",A);
  return 0;
}

C++: #include <stdio.h>

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