1 条题解

  • 0
    @ 2025-4-12 21:47:20

    C :

    #include<stdio.h>
    int add1(int n)
    {
        int i,s=0,k=10;
        for(i=1;i<5;i++)
        {
            s=n%k+s;
            n=n/10;
        }
        s=s+n;
        return s;
    }
    int add2(int n)
    {
        int i,s=0,k=10;
        for(i=1;i<10;i++)
        {
            s=n%k+s;
            n=n/10;
        }
        s=s+n;
        return s;
    }
    int main()
    {
        int n,i,s,p;
        while(scanf("%d",&n)!=EOF)
        {
            if(n==0)
            break;
            s=add1(n);
            n=n*n;
            p=add2(n);
            printf("%d %d\n",s,p);
        }
    }
    
    

    C++ :

    #include <stdio.h>
    
    int SeparateDigits(int num, int arr[]){
    	int numOfDigits = 1;
    	arr[0] = 0;
    	while(num){
    		arr[numOfDigits++] = num % 10;
    		num /= 10;
    	}
    	return numOfDigits;
    }
    
    int main(){
    #ifndef ONLINE_JUDGE
    	freopen("in", "r", stdin);
    #endif
    
    	int digits[20];
    	int num;
    	while(scanf("%d", &num), num){
    		int numOfDigits = SeparateDigits(num, digits);
    		int ans = 0;
    		for(int i=0; i<numOfDigits; i++){
    			ans += digits[i];
    		}
    		numOfDigits = SeparateDigits(num*num, digits);
    		int squareAns = 0;
    		for(int i=0; i<numOfDigits; i++){
    			squareAns += digits[i];
    		}
    		printf("%d %d\n", ans, squareAns);
    	}
    
    	return 0;
    }
    
    

    Pascal :

    var n,i,s,j,a,b:longint;
    begin
      readln(n);
      while n<>0 do
        begin
          s:=n*n;a:=0;b:=0;
          while n>0 do
             begin
               a:=a+n mod 10;
               n:=n div 10;
             end;
    
          while s>0 do
             begin
               b:=b+s mod 10;
               s:=s div 10;
             end;
          writeln(a,' ',b);
          readln(n)
        end;
    end.
    

    Java :

    import java.util.Scanner;
    
    
    
    public class Main
    {
    	Scanner	input=new Scanner(System.in);
    	int num=0;
    	int sum=0;
    	int sumofsquare=0;
    	int square=0;
    	public Main()
    	{
    		while(input.hasNextInt())
    		{
    			num=input.nextInt();
    			sum = 0;
    			sumofsquare=0;
    			square = 0;
    			square=num*num;
    			if(num==0)
    				break;
    			else
    			while(num>0)
    			{
    				sum+=num%10;
    				num=(int)num/10;
    			}
    			while(square>0)
    			{
    				sumofsquare+=square%10;
    				square=(int)square/10;
    			}
    			System.out.println(sum+" "+sumofsquare);
    		}
    	}
    	public static void main(String[] args)
    	{
    		Main main=new Main();
    	}
    }
    
    
    • 1

    信息

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