2 条题解

  • 1
    @ 2024-9-20 9:04:17
    #include <stdio.h>
    
    int count_1(int m ,int n)//计算进位数
    {
        int count = 0, a = 0;
        while (m != 0 || n != 0)
        {
            int sum = m % 10 + n % 10 + a;
            a = 0;//初始化进位
            if (sum >= 10)
            {
                count++;//进位计数
                a++;//如果产生进位,将进位记录
            }
            m /= 10;
            n /= 10;//计算下一位
        }
        return count;
    }
    
    int main()
    {
        int m, n;
        while (1)
        {
            scanf("%d %d", &m, &n);
            if (m == 0 && n == 0)
            {
                break;//读取到0 0跳出循环
            }
            printf("%d\n", count_1(m, n));
        }
    
        return 0;//好孩子的好习惯
    }
    
    • 0
      @ 2025-3-12 22:53:25
      #include <stdio.h>
      
      int main()
      {
      	int m, n;
      	while (1)
      	{
      		scanf("%d %d", &m, &n);
      		
      		if (m == 0 && n == 0)
      		{
      			break;
      		}
      		
      		int count = 0; //进位次数
      		int Over = 0;
      		
      		for (int i = 0; i < 3; i++)
      		{
      			int M_gewei = m % 10;
      			int N_gewei = n % 10;
      			int sum = M_gewei + N_gewei + Over;
      			// 判断是否进位
      			if (sum >= 10)
      			{
      				count++;
      				Over = 1;
      			}
      			else
      			{
      				Over = 0;
      			}
      			// 去掉已经处理过的位
      			m /= 10;
      			n /= 10;
      		}
      		printf("%d\n", count);
      	}
      	
      	return 0;
      }
      • 1

      信息

      ID
      121
      时间
      1000ms
      内存
      64MiB
      难度
      8
      标签
      递交数
      20
      已通过
      5
      上传者