Go: package main

import (
	"fmt"
	"math"
)

func main() {
	var n int
	fmt.Scan(&n)

	r := 100.0
	for i := 0; i < n; i++ {
		r = math.Ceil(1.05 * r)
	}

	fmt.Println(int(r * 1000))
}

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

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

int main(){
	int n, fraction;
	int debt = 100000;

	cin >> n;

	for(int i = 0; i < n; i++){
		debt = debt + (int)(debt*0.05);
		fraction = debt % 1000;
		if(fraction > 0) debt += 1000 - fraction;
	}

	cout << debt << endl;

	return 0;
}

C++: #include<iostream>

int main(){
  long int n,M;

  M = 100000;

  std::cin >> n;

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

C++: #include<iostream>

using namespace std;

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

	cin >> n;
	while (n-- > 0) {
		// 一週間ごとにすること
		loan += loan / 20;					// 5%増（5% → 0.05 → 1/20）
		loan = (loan + 999) / 1000 * 1000;	// 1000円未満切り上げ（末尾３ケタが0円の時は切り上げない）
	}
	cout << loan << endl;

	return 0;
}

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

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

C++: #include<stdio.h>

int main(void){
    long i = 100000;
    long j,n;
    scanf("%ld",&n);
    for(j = n;j > 0;j--){
        i = i + i * 0.05;
        if(i % 1000 == 0){
        }
        else{
            i = i / 1000;
            i = i * 1000 + 1000;
        }
    }
    printf("%ld\n",i);
    return 0;
}

C++: import java.math.BigDecimal;
class Main {
public void main(int week) {

		BigDecimal shakkin = new BigDecimal(100000);
		BigDecimal taxper = new BigDecimal(0.05);
		BigDecimal rishi;
		int a = 0;

		for (int i = 0; i <= week; i++) {
			// 5%の利子を計算する
			rishi = shakkin.multiply(taxper);
			// 5%の利子を元金に足す
			shakkin = shakkin.add(rishi);
			// 1000円未満を切り上げる
			a = shakkin.setScale(-3, BigDecimal.ROUND_UP).intValue();
		}
		System.out.println(a);
	}
}