1 条题解

  • 0
    @ 2021-6-15 13:05:38

    C :

    #include<stdio.h>
    int main(){
    	int x,n;
    	int sum;
    	scanf("%d %d",&x,&n);
    	while(n--){
    		sum=0;
    		while(x!=0){
    		int t=x%10;
    		sum+=t*t;
    		x/=10;
    
    		}
    		x=sum;
    	}
    	printf("%d",sum);
    }
    

    C++ :

    #include <iostream>
    using namespace std;
    int a[100];
    void f(int n,int m)
    {if(m==0) {
    cout<<n<<endl;
    return;
    }
    int i,sum=0;
    for(i=0;n%10;i++)
    {a[i]=n%10;n/=10;
    }
    for(--i;i>=0;i--)
    sum+=a[i]*a[i];
    f(sum,m-1);
    }
    int main()
    {int n,m;
    cin>>n>>m;
    f(n,m);
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    
    
    public class Main {
    
    	public static void main(String[] args) {
    		int x,n;
    		Scanner sc=new Scanner(System.in);
    		x=sc.nextInt();
    		n=sc.nextInt();
    		int sum=x;
    		while(n-- != 0)
    		{
    			int t=sum;
    			sum=0;
    			while(t > 0)
    			{
    				sum=sum+(t%10)*(t%10);
    				t/=10;
    			}
    		}
    		System.out.println(sum);
    	}
    
    }
    
    
    • 1

    信息

    ID
    851
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者