4 条题解

  • 3
    @ 2023-8-5 12:37:19

    简单

    #include <bits/stdc++.h>
    using namespace std;
    int n,ans;
    int main()
    {
        cin>>n;
        while(n!=0)
        {
            int a=n,b=0;
            while(n!=0)
            {
                b=b*10+n%10;
                n/=10;
            }
            if(a==b)
                break;
            ans++;
            n=a+b;
        }
        cout<<ans;
        return 0;
    }
    
    • 1
      @ 2023-7-30 21:24:22
      #include <iostream>
      using namespace std;
      int main()
      {
      	cout<<0;
      	return 0;
      }
      
      #include <iostream>
      using namespace std;
      int main()
      {
      	int n, x, y, sum = 0;
      	cin >> n;
      	while(n != x)
      	{
      		x = 0;
      		y = n;
      		sum++;
      		while(y){
      			x = x*10+y%10;
      			y /= 10;
      		}
      		if(n != x){
      			n += x;
      		}
      	}
      	cout << sum - 1;
      	return 0;
      }
      
      
      • 1
        @ 2023-7-7 21:30:29
        #include <iostream>
        #include <cmath>
        using namespace std;
        bool judge(int n)//判断回文数函数
        {
        	int num = 0;//记录位数
        	int sum = 0;
        	for (int i = 1; n / i != 0; i *= 10)//判断位数
        	{
        		if (n / i != 0)
        		{
        			num++;
        		}
        	}
        	for (int i = 1; i < num; i++)
        	{
        		sum += (n - n / (int)pow(10, i) * (int)pow(10, i)) / (int)pow(10, i - 1) * (int)pow(10, num - i);
        	}//注意pow函数在使用的时候会发生隐式转换,返回的是double类型,所以要强转成int类型
        	sum += n / pow(10, num - 1);
        	if (sum == n)
        	{
        		return true;
        	}
        	else
        	{
        		return false;
        	}
        }
        int produce(int &n)//生成回文数
        {
        	int num = 0;//记录位数
        	int sum = 0;
        	for (int i = 1; n / i != 0; i *= 10)//判断位数
        	{
        		if (n / i != 0)
        		{
        			num++;
        		}
        	}
        	for (int i = 1; i < num; i++)
        	{
        		sum += (n - n / (int)pow(10, i) * (int)pow(10, i)) / (int)pow(10, i - 1) * (int)pow(10, num - i);
        	}
        	sum += n / pow(10, num - 1);
        	n = n + sum;
        	return n;
        }
        int main()
        {
        	int n;
        	cin >> n;
        	judge(n);
        	if (judge(n) == true)
        	{
        		cout << 0;
        		return 0;
        	}
        	else
        	{
        		int num = 0;
        		while (judge(n) == false)
        		{
        			produce(n);
        			num++;
        		}
        		cout << num;
        		return 0;
        	}
        }
        
        • 0
          @ 2023-1-17 14:20:15
          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
          	int n, ni, ce, ji = 0;
          	cin >> n;
          	while(n != ni){
          		ni = 0;
          		ce = n;
          		ji++;
          		while(ce){
          			ni = ni*10+ce%10;
          			ce /= 10;
          		}
          		if(n != ni){
          			n += ni;
          		}
          	}
          	cout << ji - 1;
          	return 0;
          }
          
          
          • 1

          信息

          ID
          84
          时间
          1000ms
          内存
          64MiB
          难度
          1
          标签
          递交数
          86
          已通过
          70
          上传者