2013华为校园招聘java实现(大家水个回复啊)

package 乒乒乓乓;

import java.util.Scanner;
/*
 * 
 * author:hansongjiang
 分别求整数数组里面的奇数与偶数之和

   问题描述:从标准输入里面接收一个字符串,整数之间用逗号(“,”)隔开,如2,3,5,7,9,10,打印最终结果,并且用逗号隔开(另外还有一些限制对问题影响不大)

   示例输入与输出:

   输入:2,3,5,8,9

   输出:17,10
 
 */

public class 偶数基数 {
    public static void main(String args[])
    {
        Scanner s=new Scanner(System.in);
        String src=s.next();
        String s2[]=src.split(",");
        int n[]=new int[s2.length];
        int even=0;
        int odd=0;
        for(int i=0;i<s2.length;i++)
        {
            n[i]=Integer.parseInt(s2[i]);
            if(n[i]%2==0)
            {
                even+=n[i];
            }
            else
            {
                odd+=n[i];
            }
            
        }
        
        
    System.out.println(even+"---"+odd);    
    
        
    }

}
   
   
       
 

二。给定五个整数1,3,9,27,81,这个五个整数可以任意组合进行加减(可以是五个数中的部分相加),这五个数组合进行加减可以得到1~122之间的数, 任意输入1~122之间的一个整数,得到其相应的组合,并且按照由大到小的顺序输出其表达式

    示例输入输出

    输入:5

    输出:9-3-1

这个问题和2014的 等式变换异曲同工
描述:    输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。
1 2 3 4 5 6 7 8 9 = X
比如:
12-34+5-67+89 = 5
1+23+4-5+6-7-8-9 = 5
请编写程序,统计满足该输入整数的所有等式的个数。

两个思路一致,现贴出我的代码:

package 乒乒乓乓;
/*
 * author :hansongjiang
 给定五个整数1,3,9,27,81,这个五个整数可以任意组合进行加减(可以是五个数中的部分相加),这五个数组合进行加减可以得到1~122之间的数, 任意输入1~122之间的一个整数,得到其相应的组合,并且按照由大到小的顺序输出其表达式

    示例输入输出

    输入:5

    输出:9-3-1
    
 */

public class 组合加减 {
    public static final int[] source={81,27,9,3,1};
    public  static void  xulie(int index,int restult[]) //获得序列 {0,1,2,}组成序列
    {
        if(index==5)
        {
            //System.out.println("得到结果"+restult[0]+restult[1]);
            boolean ans=getSum(restult);
            if(ans)
            {
                String ans1="";
             for(int i=0;i<5;i++)
             {
                if(restult[i]==1)
                {
                    ans1+=source[i];
                    
                }
                if(restult[i]==-1)
                {
                    ans1+=source[i]*-1;
                    
                }
                 
                 
             }
             
             System.err.println(ans1);
                
            }
            
        }
        else
        {
            for(int i=-1;i<2;i++)
            {
                restult[index]=i;
                xulie(index+1,restult);
                
                
                
            }
            
            
            
            
            
            
        }
        
        
        
        
    }
    public static boolean getSum(int[] res)
    {
        int[] temp=new int[5];
        int sum=0;
    
        for(int i=0;i<5;i++)
        {
            temp[i]=source[i]*res[i];
                
            sum+=temp[i];
        }
        if(sum==5)
            return true;
        else
            return false;
        
        
        
    }

    public static void main(String[] args) {
        int res[]=new int[5];
        // TODO Auto-generated method stub
        xulie(0,res);

    }

}

 

 

另一代码类似。

原文地址:https://www.cnblogs.com/hansongjiang/p/3597378.html