Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,872 questions

51,796 answers

573 users

How to find the subarray whose sum is equal to a given number N in Rust

1 Answer

0 votes
#![allow(non_snake_case)]

fn PrintSubarrayWithSumEqualToN(arr : [usize; 9], N : usize) {
    let size : usize = arr.len();
    {
        let mut i : usize = 0;
        while i < size {
            let mut current_sum : usize = arr[i as usize];
            if current_sum == N {
                print!("Sum found at index: {}", i);
                return;
            }
            else {
                {
                    let mut j : usize = i + 1;
                    while j < size {
                        current_sum += arr[j as usize];
                        if current_sum == N {
                            println!("Sum found between index {} and {}", i, j);
                            {
                                let mut k : usize = i;
                                while k <= j {
                                    print!("{} ", arr[k as usize]);
                                    k += 1;
                                }
                            }
                            return;
                        }
                        else if current_sum > N {
                                break;
                            }
                        j += 1;
                    }
                }
            }
            i += 1;
        }
    }
    print!("No subarray found");
}
    
fn main()
{
    let arr: [usize; 9] = [2, 5, 8, 9, 1, 7, 12, 21, 19];
    
    let N : usize = 52;
    
    PrintSubarrayWithSumEqualToN(arr, N);
}






/*
run:
  
Sum found between index 6 and 8
12 21 19 
  
*/
 

 



answered Apr 16, 2023 by avibootz
...