Go: package main

import (
	"fmt"
)

func main() {
	for {
		var a int
		fmt.Scan(&a)
		if a == 0 {
			break
		}
		rs := 0

		for i := 0; i < 10; i++ {
			for j := 0; j < 10; j++ {
				for k := 0; k < 10; k++ {
					for l := 0; l < 10; l++ {
						if i+j+k+l == a {
							rs++
						}
					}
				}
			}
		}
		fmt.Println(rs)
	}
}

C++: #include <iostream>

/*50 以下の正の整数 n を入力し、0 〜 9 の範囲の整数 a,b,c,d の組で
a+b+c+d=n
を満たすものの組み合わせ数を出力するプログラムを作成して下さい。
例えば、n が 35 のとき、(a,b,c,d) の組み合わせは (8,9,9,9)、(9,8,9,9)、(9,9,8,9)、(9,9,9,8) の 4 通りとなります。*/

/*input*/
/*複数のデータセットが与えられます。
各データセットに n (1 ≤ n ≤ 50) が１行に与えられます。
入力の最後まで処理して下さい。データセットの数は 50 を超えません。*/

/*output*/
/*各データセットごとに、a,b,c,d の組み合わせ個数を１行に出力して下さい。*/


int combinationCount(int, int);
bool inputAndJadgeEOF(int& n);

int main(){

	int n;  //入力される正の整数
	int life = 4;  //組み合わせる数字の数

	while (inputAndJadgeEOF(n)){
		std::cout << combinationCount(n, life) << std::endl;
	}
}

//組み合わせの個数を返す関数
//入力:n 数字の組み合わせで表現する数
//入力:life 組み合わせに使える数字の個数
//出力:組み合わせの数
int combinationCount(int n, int life){

	if (static_cast<double>(n) / life > 9){
		return 0;
	}

	if (n < 0){  //nが0以下なら表現不可
		return 0;
	}
	if (life == 1){  //残りの数字が一つなら
		if (n < 10 && n > -1){  //0~9の範囲内なら、組み合わせが一つできる
			return 1;
		}
		else{  //0~9の範囲外なら表現不可
			return 0;
		}
	}

	int count = 0; //組み合わせの総数 
	for (int i = 0; i <= 9; i++){  //1~9までの数字で調査
		count += combinationCount(n - i, life - 1);  //一つの数字を固定した場合の、組み合わせの総数
	}
	return count;
}

bool inputAndJadgeEOF(int& n){
	if (std::cin >> n){
		return true;
	}
	else{
		return false;
	}
}

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

int main ()
{
    int	n;

    while (cin >> n) {
        int res = 0;
    	for (int i = 0; i <= 9; i++) {
            for (int j = 0; j <= 9; j++) {
                for (int k = 0; k <= 9; k++) {
                    for (int l = 0; l <= 9; l++) {
                        if (i + j + k + l == n) res++;
                    }
                }
            }
    	}

        cout << res << endl;
    }

    return 0;
}

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

int main(){
	int total[100];
	int n;
	for(int i=0;i<100;i++){
		total[i]=0;
	}

	for(int i1=0;i1<10;i1++){
		for(int i2=0;i2<10;i2++){
			for(int i3=0;i3<10;i3++){
				for(int i4=0;i4<10;i4++){
					total[i1+i2+i3+i4] += 1;
				}
			}
		}
	}
	cin>>n;
	cout<<total[n];
	return 0;
}

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

int main(){
	int n, ans = 0;
	while (cin >> n){
		for (int i = 0; i <= 9; i++){
			for (int j = 0; j <= 9; j++){
				for (int k = 0; k <= 9; k++){
					for (int l = 0; l <= 9; l++){
						if (i + j + k + l == n)
							ans++;
					}
				}
			}
		}
		cout << ans << endl;
		ans = 0;
	}
	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int n,cnt;
void sach(int x,int sum){
  if(x==4){
    if(sum==n) cnt++;
    return;
  }
  for(int i=0;i<10;++i) sach(x+1,sum+i);
}
int main(){
  cin>>n;
  sach(0,0);
  cout<<cnt<<endl;
  return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a=0,b=0,c=0,d=0,e=0,n,count;
	for(int i=1;i<=50;i++){
		cin>>n;
		do{
		if((a+b+c+d)==n){
			count++;
		}
		if(a==9 && b==9 && c==9 && d==9){
			e=1;
		}
	
		else if(b==9 && c==9 && d==9){
			a++;
			b=0,c=0,d=0;
		}
		else if(c==9 && d==9){
			b++;
			c=0,d=0;
		}
		else if(d==9){
			c++;
			d=0;
		}
		else{
			d++;
		}
	
		}while(e==0);
		cout<<count<<endl;
		count=0,a=0,b=0,c=0,d=0,e=0;
	}
	return 0;
}

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

int main() {
	
	int n;
	int ca = 0;
	while (cin >> n) {
		for (int a = 0; a < 10;a++) {
			for (int b = 0; b < 10;b++) {
				for (int c = 0; c < 10; c++) {
					for (int d = 0; d < 10;d++) {
						if (n == a + b + c + d) {
							ca++;
						}
					}
				}
			}
		}
		cout << ca<<endl;
		ca = 0;
	}
	return 0;
}

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

int main()
{
	int n = 0;
	int answer = 0;
	int upper =10;
	cin >> n;

	for(int i = 0; i < upper; ++i)
	{
		int a = i;
		for(int j = 0; j < upper; ++j)
		{
			int b = j;
			for(int k = 0; k < upper;++k)
			{
				int c = k;
				for(int l = 0; l < upper; ++l)
				{
					int d = l;

					if((a+b+c+d)==n)
					{
						answer++;
					}
				}
			}
		}
	}

	cout << answer << endl;

	return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
	int n;
	int i,j,k,l;
	
	while(cin >> n){
		// countを0で初期化
		int count = 0;
		
		for(i=0;i<=9;i++){
			for(j=0;j<=9;j++){
				for(k=0;k<=9;k++){
					for(l=0;l<=9;l++){
						if(i+j+k+l == n){
							count++;
						}
					}
				}
			}
		}
		
		cout << count << endl;
		
	}
	return 0;
}

C++:  /*
Write a program which reads an integer n (n &#8804; 50) and identifies the number of combinations of a, b, c, and d (0 &#8804; a, b, c, d &#8804; 9) which meet the following equality:

        a + b + c + d = n
For example, for n = 35, we have 4 different combinations of (a, b, c, d): (8, 9, 9, 9), (9, 8, 9, 9), (9, 9, 8, 9), (9, 9, 9, 8).
 */

#include <iostream>

using namespace std;

int calc(int a, int b, int n) {
	int tmp = n-a-b;
	int count = 0;
	for (int c=0; c<10; c++) {
		for (int d=0; d<10; d++) {
			if (tmp == c+d)
				count++;
		}
	}
	return count;
}

void solve(int n) {
	int count = 0;
	for (int a=0; a<10; a++) {
		for (int b=0; b<10; b++) {
			count += calc(a,b,n);
		}
	}
	cout << count << endl;
}

int main() {
	int n;
	while (cin >> n) {
		solve(n);
	}
	return 0;
}

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

using namespace std;

int main(void)
{

	int val,count = 0;
	while (cin >> val)
	{
		for (int a = 0; a < 10; a++)
		{
			for (int b = 0; b < 10; b++)
			{
				for (int c = 0; c < 10; c++)
				{
					for (int d = 0; d < 10; d++)
					{
						if (a + b + c + d == val)count++;

					}

				}


			}


		}

		printf("%d\n", count);
		count = 0;

	}

}

C++: #include<iostream>
using namespace std;
int main() {
	int a, b, c, d, n, kazu, ans[60], an;
	an = 0;
	while (cin >> n) {
		an++;
		kazu = 0;
		for (a = 0; a <= 9; a++) {
			for (b = 0; b <= 9; b++) {
				for (c = 0; c <= 9; c++) {
					for (d = 0; d <= 9; d++) {
						if (a + b + c + d == n) {
							kazu = kazu + 1;
						}
					}
				}
			}
		}
		ans[an] = kazu;
	}
	for (int i = 1; i <= an; i++) {
		cout << ans[i] << endl;
	}
}

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

int main(){
	int N,count;
	list<int> counter;
	
	while(!(cin>>N).eof()){
		count=0;
		for(int i=0; i<10;i++){
			if((N-i)/3 >9) continue;
			for(int j=0; j<10;j++){
				if((N-i-j)/2 > 9) continue;
				for(int k=0; k<10;k++){
					if((N-i-j-k) > 9 || (N-i-j-k)<0) continue;
					//cout << i<< " " << j << " " << k << " "<< N-i-j-k <<endl;
					count++;
				}
			}
		}
		counter.push_back(count);
	}
	list<int>::iterator it = counter.begin();
	while(it != counter.end()){
		cout << *it << endl;
		it++;
	}
	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	while(cin>>n){
		int cnt=0;
		if(n>36){
			cout<<0<<endl;
			continue;
		}
		for(int a=0;a<10;a++)
			for(int b=0;b<=a;b++)
				for(int c=0;c<=b;c++)
					for(int d=0;d<=c;d++)
						if(a+b+c+d==n)	cnt++;
		cout<<4*cnt<<endl;
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int main(){
   int n, count=0;

   while(cin >>n){
      count=0;
      for(int i=0;i<10;i++)
	 for(int j=0;j<10;j++)
	    for(int k=0;k<10;k++)
	       for(int l=0;l<10;l++)
		  if((i+j+k+l)==n)count++;
      cout <<count<<endl;
   }


   return 0;

}

C++: #include <iostream>
using namespace std;
int main(){
	int a, b, c, d, n;
	while(cin >> n){
		int count = 0; 
		if(n <= 36){
			for(a = 0; a <= 9 ; a++){
				for(b = 0; b <= 9; b++){
					for(c = 0; c <= 9; c++){
						for(d = 0; d <= 9; d++){
							if(( a + b + c + d) == n){
								count ++;
							}
						}
					}
				}
			}
				cout << count << endl;
		}
		else if(n > 36){
			cout << 0 << endl;
		}
	}
	return(0);
}