Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company.Exam_Advance;
- import java.util.Scanner;
- public class ExpressionAgain {
- static int number;
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- String inputS=input.nextLine();
- int targetSum=input.nextInt();
- int[] numbers=new int[inputS.length()];
- for (int i = 0; i <numbers.length ; i++) {
- numbers[i]=inputS.charAt(i)-'0';
- }
- int result=expression(0,numbers,0,targetSum,0);
- System.out.println(result);
- }
- private static int expression(int index,int[]numbers,int currentSum,int targetSum,int count) {
- if(index==numbers.length){
- if(currentSum==targetSum){
- return 1;
- }
- else return 0;
- }else{
- for (int i = index; i <numbers.length ; i++) {
- number*=10;
- number+=numbers[i];
- if(number==0){
- continue;
- }
- count += expression( index + 1,numbers, currentSum + number, targetSum,count);
- count += expression( index + 1,numbers, currentSum - number, targetSum,count);
- count += expression( index + 1,numbers, currentSum * number, targetSum,count);
- }
- }
- return count;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment