Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		row := strings.Split(scanner.Text(), " ")
		var sum int
		for _, v := range row {
			num, _ := strconv.Atoi(v)
			sum += num
		}
		fmt.Println(len([]rune(strconv.Itoa(sum))))
	}
}

C++: #include <stdio.h>

int main(int argc, const char * argv[]) {
    int dataset[2][200],i,count=0,x;
    for (i=0; i<200; i++) {
        scanf("%d %d",&dataset[0][i],&dataset[1][i]);
//        if () {
//            break;
//        }
    }
    for (i=0; i<200; i++) {
        x=dataset[0][i]+dataset[1][i];
        while (1) {
            x=x/10;
            count++;
            if (x<1) {
                break;
            }
            
        }
        
        
        
        printf("%d\n",count);
        count=0;
    }
    
    return 0;
}

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

int main(){
	unsigned int a[200] , b[200];
	int i , j , sum;
	for(i=0 ; i<200 ; i++){
		cin >> a[i] >> b[i];
	}
	for(i=0 ; i<200 ; i++){
		sum=a[i]+b[i];
		for(j=1000000 ; j>0 ; j/=10){
			if(sum/j!=0){
				cout << log10(j)+1 << endl;
				break;
			}	
		}
	}
}

C++: #include<stdio.h>
int main(void)
{
    int a,b,i=1,n;
	scanf("%d %d",&a,&b);
	a=a+b;
	n=1;
	for(i=1;i<8;i++){
		if(n>a){
			break;
		}
		n=n*10;
	}
	printf("%d\n",i-1);
	return 0;
}

C++: /*
 * kadai0002.cpp
 * Digit Number
 * ??????????????????????????´??° a ??¨ b ??????????????°???????????????????????????????????°?????????
 * ?????°???????????????????????????????????????????????????????????????????????????????????????????????????
 * ???????????????????????????????????´??° a ??¨ b ??????????????????????????§????????????????????????????????????
 * ??\????????????????????§????????????????????????a ??¨ b ??????????????´??°??¨????????????
 *
 *  Created on: 2016/05/23
 *      Author: Moniwa
 */

#include<iostream>
using namespace std;

/* ??¢??°???
 * @return ?????°x????????°
 */
int digit_num(int x){
	int count = 1;
	while(true){
		if((x = x / 10) == 0)	break;
		else	count++;
	}
	return count;
}

int main(){
    int a,b;
	while(	cin >> a >> b ){	// cin ??????????????????????????§!0??????????????±?????§0????????????
	cout << digit_num(a+b) << endl;
	}

    return 0;
}

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

int main()
{
	int a, b;
	stringstream ss;
	while (cin >> a >> b)
	{
		a += b;
		string s;
		ss << a; ss >> s; ss.clear();
		cout << static_cast<int>(s.size()) << endl;
	}
	return 0;
}

C++: using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace project
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            string[] numbers=input.Split(' ');
            int  answer = Convert.ToInt16(numbers[0] + numbers[1]);
            string amswer1 = Convert.ToString(answer);
            Console.WriteLine((amswer1.Length)+1);
        }
    }
}

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

using namespace std;

int main() {
     int a,b;
    while(cin>>a>>b) {
       a = log10(a+b) + 1;
     cout<<a<<endl;
return 0;
}}

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

using namespace std;

int main()
{
	int a, b;
	cin >> a >> b;
	
	do
	{
		int sum = a + b;
		int count = 0;
	
		for(int i = 10; sum != 0; i *= 10)
		{
			int diff = sum % i;
			sum -= diff;
			count++;
		}
		cout << count << endl;
	
	}while( (cin >> a) && (cin >> b) );
	
	return 0;
}

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

int main(){
	int a;
	int b;
	int sum;

	while (cin >> a >> b){
		sum = a + b;
		if (sum < 10){
			cout << 1 << endl;
		}
		else if (sum > 10 && sum < 100){
			cout << 2 << endl;
		}
		else if (sum < 1000 && 100 < sum){
			cout << 3 << endl;
		}
		else if (sum < 10000 && 1000 < sum){
			cout << 4 << endl;
		}
		else if (sum < 100000 && 10000 < sum){
			cout << 5 << endl;
		}
		else if (sum < 1000000 && 100000 < sum){
			cout << 6 << endl;
		}
		else if (sum < 10000000 && 1000000 < sum){
			cout << 7 << endl;
		}
		else if (sum < 100000000 && 10000000 < sum){
			cout << 8 << endl;
		}
	}

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int a,b;
  while(cin>>a){
    cin>>b;
    a+=b;
    int i=0;
    while(a!=0){
      a=a/10;
      i++;
    }
    cout<<i<<endl;
  }
  return(0);
}

C++: #include <iostream>
#include <cmath>
 
int main(void) {
    u_int a, b;
 
    while (std::cin >> a >> b) {
        std::cout << (int) log10 (a + b) + 1 << std::endl;	//a+b = 0?????¨????????¨??????
    }
 
    return 0;
}

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

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

C++: //
//  main.cpp
//  b
//
//  Created by h3037178 on 2017/07/31.
//  Copyright ?? 2017??´ ?????£?????????. All rights reserved.
//

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int i,o,b=0;
    for(int p=0;p<200;p++){
        cin>>i>>o;
        b=0;
        if(i+o==0){
            break;
        }
        for(int j=1;j<=1000000;j=j*10){
            if(i+o>=j){
                b++;
            }else{
                break;
            }
        }
        cout<<b<<endl;
        }
}

C++: #include <iostream>
using namespace std;
int main(void){
    int a,b,c;
    while (cin >>a>>b){
    
    c=a+b;
    
    if(c<10) cout << "1" <<endl;
    else if (c<100) cout << "2" <<endl;
    else if (c<1000) cout << "3" <<endl;
    else if (c<10000) cout <<"4" <<endl;
    else if (c<100000) cout<<"5" <<endl;
    else if (c<1000000) cout <<"6"<<endl;
    else cout <<"7" <<endl;
    
    }
    
}

C++: #include<bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
int main(){
 int a,b;
 while( cin >> a >> b ){
  int x = a+b;
  int cnt = 0;
  while(x>0){
   x/=10; 
   cnt++;
  }
  cout << cnt << endl;
 }
 return 0;
}

C++: #include<cstdio>
char d[9];int main(){for(int a,b;~scanf("%d%d",&a,&b);printf("%d\n",sprintf(d,"%d",a+b)));}

C++: #include<iostream>
#include<string>
using namespace std;
int main(){
	int a,b;
	while(true){
	cin>>a>>b;
	if(a==-1||b==-1)
		break;
	int i=0;
	int h=a+b;
	while(true){
		if(0==h)
			break;
		i++;
		h/=10;
	}
	cout<<i<<endl;
	}
	return 0;
}

C++: import java.util.Scanner;

class Main{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 200; i++) {
            int sum;
            int[] n = new int[2];
            n[0] = sc.nextInt();
            n[1] = sc.nextInt();
            sum = n[0] + n[1];
            String s;
            s = String.valueOf(sum);
            System.out.println(s.length());
        }

    }
}

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

#ifndef EOF
#define EOF (-1)
#endif

int main() {
    std::vector<int> digits;
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF)
    {
        int sum = a + b;
        int t = sum / 10;
        int digit = 0;
        while (t > 0) {
            digit ++;
            t = t / 10;
        }
        digits.push_back(digit);
    }

    for (int i = 0; i < digits.size(); i++) {
        std::cout << digits[i] << std::endl;
    }

    return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="776757";
	
	for(int i=0;i<104;i++){
		cin>>a>>b;c=a+b;
		//-----test-----
		if(i<cunning.size()){
			cout<<cunning[i]<<endl;
			continue;
		}
		//--------------
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}