Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func sliceAtoi(sa []string) ([]int, error) {
	si := make([]int, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.Atoi(a)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func getDigits(ary []int) (digits int) {
	sum := 0
	for _, v := range ary {
		sum += v
	}

	for sum != 0 {
		sum /= 10
		digits++
	}
	return
}

func getsTwoNumAsArray() (nums [][]int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}

		ary, _ := sliceAtoi(strings.Split(str, " "))
		nums = append(nums, ary)
	}

	return
}

func main() {
	ary := getsTwoNumAsArray()

	for _, v := range ary {
		fmt.Println(getDigits(v))
	}
}

C++: #include<stdio.h>

int digit(int s){
	int d = 1;
	while(1){
		if(s >= 10){
			s = s/10;
			d++;
		}else{
			break;
		}
	}
	return d;
}


int main(){
	for(int i = 0; i < 200; i++){
		int a, b;
		scanf("%d %d", &a, &b);
		printf("%d\n", digit(a + b));
	}

	return 0;
}

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

int main(void)
{
  int a,b;
  while(scanf("%d %d", &a, &b) != EOF){
    char str[1024];
    sprintf(str, "%d", a+b);
    printf("%zd\n", strlen(str));
  }

  return 0;
}

C++: #include <stdio.h>
#define N 200
int main()
{
    int i, a[N],b[N],dig[N];
    while(scanf("%d %d",&a[i], &b[i])!=EOF){
        int c[N];
        c[i]=a[i]+b[i];
        dig[i]=0;
        do{
            dig[i]++;
            c[i]/=10;
        }while(c[i]>=1);

        i++;
    }
    int sum=i;
    for(i=0;i<sum;i++){
        printf("%d\n",dig[i]);
    }
    //改行コード必要では？
    }

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

int main(){
	int a,b;
	while(cin >> a >> b){
		int d = 0;
		a += b;
		while(a){
			d++;
			d /= 10;
		}
		if(!d)d++;
		cout << d << endl;
	}
}

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

using namespace std;

int a,b;
int sum;
int ans = 0;
int digit;

int main(){
	while(cin >> a >> b){
		sum = a + b;
		digit = sum / 10;

		printf("%d\n",(int)log10(sum) + 1);
	}
    return 0;
}

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

int main()
{
 int a,b;
 int count;
 int wa;
 while(cin >> a&&cin >> b){
  count = 1;
  wa = a + b;
  while((wa/=10) != 0){
   count++;
  }
  cout << count << endl;
 }
 return 0;
}

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

int main(void){
	unsigned int a,b,sum;
	while(cin >> a >> b){
		sum = a + b;
		unsigned int ans = 0;
		while(sum > 0){
			sum = sum / 10;
			ans++;
		}
		cout << ans << endl;
	}
	return 0;
}

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

using namespace std;

int main(){
	int i,j,k,ans=0;

	
	while(cin >> i >>j ){
	k=i+j;
	while(k!=0){ k/=10; ans++;}
        printf("%d\n",ans);
		ans=0;

}
}

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

int main(){
  int a,b,ans;
  string fig;
  while(cin >> a >> b){
    ans=a+b;
    fig=to_string(ans);
    cout << fig.size() << endl;
  }
}

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

int main()
{
	int a, b, i;
	int sum;
	
	while(cin >> a)
	{
		cin >> b;
	
		sum = a + b;
	
		i = 0;
		while(sum != 0)
		{
			sum = sum / 10;
			
			i = i + 1;
		}
		
		cout << i << endl;
		
	}
	
	return 0;
}

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

int main(){
  vector<int> sum;
  vector<string> truss;
  int a,b;
    while(cin >> a >> b){
        int num = a + b;
        int count = 0;
        while(num){
            count++;
            num /= 10;
        }
        cout << count << endl;
    }
/*
sum.push_back(a+b);
  }
  for(int i=0;i<(int)sum.size();i++) { 
    truss.push_back(to_string(sum[i]));
  cout<<truss[i].size()<<endl;
*/
  }
  return 0;
}

C++: #include <iostream>

int main(int argc, char const *argv[])
{
	int a = 0;
	int b = 0;
	while(std::cin >> a >> b){
		int p = 10;
		int i = 1;
		while((a+b)/p != 0){
			i ++;
			p *= 10;
		}
		std::cout << i << std::endl;
	}
	return 0;
}

C++: #include <cstdio>

using namespace std;

int main()
{
  int a, b;
  
  while (scanf("%d%d", &a, &b)){
    int cnt = 1;
    for (int i = a + b; i >= 10; cnt++) i /= 10;
    
    printf("%d\n", cnt);
  }

  return (0);
}

C++: #include<cstdio>
using namespace std;
int main(){
	int a,b;
	while(scanf("%d %d",&a,&b)!=EOF){
		char c[255];
		printf("%d\n",sprintf(c,"%d",a+b));
	}
	return 0;
}

C++: #include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
  int a, b, cnt;
  string s;
  getline(cin, s, ' ');
  a = stoi(s);
  getline(cin, s);
  b = stoi(s);
  a += b;
  cnt = 0;
  if (c == 0) {
    cnt = 1;
  } else {
    while (c) {
      cnt++;
      c /= 10;
    }
  }
  cout << cnt << endl;
}

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

int main() {
	int a, b;
	while(cin >> a >> b){
		int n = a + b;
		int count = 0;
		while(n > 0){
			n /= 10;
			count++;
		}
		cout << count << endl;
	}
	
	return 0;
}

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

int keta(int a) {
  if ( a == 0 ) {
    return 1;
  }
  int rec = 0;
  while ( a != 10 ) {
    a /= 10;
    rec++;
  }
  return rec;
}

main()
{
  int a, b;

  while( scanf("%d %d", &a, &b) != EOF ) {
    a += b;
    cout << keta(a) << endl;
  }
  
  return (0);
}

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

int a,b;

int main() {
  while (scanf("%d %d" ,&a ,&b) != EOF) {
    int i  = 0;
    a = a + b;
    while(a > 0) {
      a = a / 10;
      ++i;
    }
    
    cout << i << endl;
    
  }
}

C++: #include "stdio.h"

int main()
{
	int a, b, x, p;

	p = 1;

	for(int i = 0; i < 200; i++){
		scanf("%d %d", &a, &b);

		x = a + b;

		while(x >= 10){
			x /= 10;

			p++;
		}

		printf("%d\n", p);
	}
}

C++: #include <iostream>
#include <vector>
using namespace std;
vector<int> ans;
int main(){
	int a, b;
	while(cin >> a >> b){
		int res = a + b;
		ans.push_back(res);
		cout << ans.size() + 1 << endl;
		res = 0;
	}
	return 0;
}

C++: 
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <stack>
#include <cctype>
#include <complex>
#include <vector>
#include <algorithm>

using namespace std;


bool solve(int &a, int &b){

	//cout<< a<< " "<< b<<endl;
	int c = a+b;
	int d = 0;
	while(c){
		c /= 10;
		d++;
	}
	cout<< d<< endl;
	
	return true;
}

int main(){
	cout.setf(ios::fixed);
	cout.precision(10);
	int a=0,b=0;
	while(cin>>a>>b){
		solve(a,b);
	}

	return 0;
}

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

int main()
{
    int a,b,sum;
    while(scanf("%d%d",&a,&b)==2)
  {
         sum=a+b;

    if (sum<10)
    {
        printf("1");
    }
    else if (sum<100)
    {
        printf("2");

    }

    else if (sum<1000)
    {
        printf("3");

    }
    else if (sum<10000)
    {
        printf("4");

    }
    else if (sum<100000)
    {
        printf("5");

    }
    else if (sum<1000000)
    {
        printf("6");

    }
    else
    printf("7");
  }
}

C++: #include <iostream>
#include <vector>
#include <utility>

using namespace std;

int digit(int);

int main(){
	int a,b;
	vector<pair<int,int> > out;
	while (cin>>a>>b){
		pair<int,int> p=make_pair(a,b);
		out.push_back(p);
	}
	for (int i=0;i<out.size();i++){
		cout<<digit(out[i].first+out[i].second)<<endl;
	}
	return 0;
}

int digit(int x){
	//x????????°?????????
	int i;
	for (i=0;x>0;i++){
		x/=10;
	}
	return i;
}