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 <iostream>
#include <cmath>

int main() {
	int loan = 100000;
	int hoge = loan * 0.05;
	int n;
	std::cin >> n;

	for (int i = 0; i < n; i++)
		loan += hoge;
	
	if (loan % 1000 < 500)
		loan = loan / 1000 * 1000;
	else
		loan = loan / 1000 * 1000 + 1000;
	
	std::cout << loan << std::endl;
}

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

C++: #include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<cstdio>
#include<climits>
#include<cmath>
#include<cstring>
#include<string>

#define f first
#define s second
#define mp make_pair

#define REP(i,n) for(int i=0; i<(int)(n); i++)
#define FOR(i,c) for(__typeof((c).begin()) i=(c).begin(); i!=(c).end(); i++)
#define ALL(c) (c).begin(), (c).end()
#define EPS (1e-10)
using namespace std;

typedef unsigned int uint;
typedef long long ll;

int r(int s,int n){
  if(n == 0) return s;
  double tmp = s * 1.05;
  s = ((int)tmp+999)/1000*1000;
  return r(s,n-1);
}

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

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

int main()
{
	int n;
	int cash = 100000;
	const double rate = 1.05;

	cin >> n;

	for( int i = 0; i < n; ++i ){
		cash = ( int )( cash * rate );
		if( cash % 1000 ){
			cash = ( cash / 1000 + 1 ) * 1000;
		}
	}

	cout << cash << endl;

	return 0;
}

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

int main() {
	int week;
	cin >> week;
	int debt = 100000;
	while (week--)
	{
		debt = debt * 1.05;
		int rem = debt % 1000;
		if (rem > 0) {
			debt += (1000 - rem);
		}

	}
	cout << debt << endl;

	return 0;
}

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

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

int main(){
	int shakkinn=100000;
	int n;
	int i;

	scanf("%d", &n);

	for (i = 0; i < n; i++) {
		shakkinn *= 1.05;
		while (shakkinn % 1000 != 0) {
			shakkinn++;

	}
}
	printf("%d\n", shakkinn);
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

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

  int debt = 100000;
  for(int i=0; i<n; i++){
    debt = debt * 105 / 100;
    if(debt % 1000 != 0) debt = (debt/1000+1)*1000;
  }

  cout << debt << endl;
}

C++: #include<iostream>
using namespace std;
int main(void)
{
    int n,m;
    m=100000;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        m=m*21;
        if(m%20==0)m=m/20;
        else
        {
            m=m/20000;
            m=1000*(m+1);
        }
    }
    cout<<m<<endl;
    return 0;
}

C++: #include<bits/stdc++.h>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;


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

C++: #include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    int n;
    cin >> n;
    int ret = 100000;
    for (int i = 0; i < n; i++) {
        ret += ret * 0.05;
        if (ret%1000) {
            ret = ret - ret % 1000 + 1000;
        }
    }
    cout<<ret<<endl;
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define REP(i,N) for(int i = 0; i < (int)N; i++)


int main(){
	int n;
	cin >> n;
	double money = 100000;
	REP(i,n){
		money += money*5/100;
		money = ceil(money/pow(10,3))*pow(10,3);
	}
	cout << money;
	return 0;
}

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

using namespace std;

int main() {

	int N, i, sum=100000;

	cin >> N;

	for (i = 0; i < N; i++) {
		sum *= 1.05;
	}

	sum = ((sum + 5000) / 10000)*10000;

	cout << sum << endl;

	return 0;

}

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

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

int main(){
	int n;
	while(cin >> n){
		cout << money(n) << endl;
	}
}

C++: #include <iostream>

int update_money(int m) {
    int tmp = (int) (((double) m) * 1.05);
    double floating = (((double) tmp) / 1000.0) - (tmp / 1000);
    if (floating > 0) {
        tmp = ((int) (((double) tmp) / 1000) ) * 1000 + 1000;
    } else {
        tmp = ((int) ((double) tmp) / 1000) * 1000;
    }
    return tmp;
}

int main(void) {
    int money = 100000;
    int n;
    std::cin >> n;

    for (int i=0; i<n; i++) {
        money = update_money(money);
    }
    std::cout << money << std::endl;

    return 0;
}

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()
{
	long double a = 100000;
	int s;
	cin >> s;
	for (int i = 0; i < s; i++) {
		a *= 1.05;
	}
	if (a % 1000 == 0) {
		
	}
	else { a = a - (a % 1000); }
	cout << a; return 0;

}

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

C++: #include<stdio.h>

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

C++: #include <iostream>

using namespace std;

int main(){
	double debt = 100000.0;
	int n, r;
	cin >> n;
	while ( n-- > 0 ){
		debt *= 1.05;
		r = (int)debt % 1000;
		if ( r != 0 ){
			debt = debt - r + 1000;
		}
	}
	cout << debt << endl;
	
	return 0;
}

C++: #include <iostream>

using namespace std;

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

	return  0;
}