bobby_k

Expression

Jun 13th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.35 KB | None | 0 0
  1. package com.company.Exam_Advance;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class ExpressionAgain {
  6.     static int number;
  7.     public static void main(String[] args) {
  8.         Scanner input = new Scanner(System.in);
  9.         String inputS=input.nextLine();
  10.         int targetSum=input.nextInt();
  11.         int[] numbers=new int[inputS.length()];
  12.         for (int i = 0; i <numbers.length ; i++) {
  13.             numbers[i]=inputS.charAt(i)-'0';
  14.         }
  15.  
  16.        int result=expression(0,numbers,0,targetSum,0);
  17.         System.out.println(result);
  18.  
  19.     }
  20.  
  21.     private static int expression(int index,int[]numbers,int currentSum,int targetSum,int count) {
  22.         if(index==numbers.length){
  23.             if(currentSum==targetSum){
  24.                 return 1;
  25.             }
  26.             else return 0;
  27.         }else{
  28.             for (int i = index; i <numbers.length ; i++) {
  29.                 number*=10;
  30.                 number+=numbers[i];
  31.                 if(number==0){
  32.                     continue;
  33.                 }
  34.                 count += expression( index + 1,numbers, currentSum + number, targetSum,count);
  35.                 count += expression( index + 1,numbers, currentSum - number, targetSum,count);
  36.                 count += expression( index + 1,numbers, currentSum * number, targetSum,count);
  37.  
  38.  
  39.             }
  40.  
  41.  
  42.         }
  43.         return count;
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment