განსხვავებული ჯამების რაოდენობა
დაწერეთ ფუნქცია unique-sums, რომელიც არგუმენტად მიიღებს რიცხვების სიას და დააბრუნებს განსხვავებული ჯამის მქონე ქვესიმრავლეების რაოდენობას. გაითვალისწინეთ რომ ცარიელი სიმრავლე ნებისმიერი სხვა სიმრავლის ქვესიმრავლედ ითვლება. მაგალითად:
(unique-sums ‘(1 2)) –> 4 რადგან ქვესიმრავლეებია: ‘() ჯამით 0, ‘(1) ჯამით 1, ‘(2) ჯამით 2, ‘(1 2) ჯამით 3. (unique-sums ‘(2 2 4)) –> 5 რადგან ქვესიმრავლეებია: ‘() ჯამით 0, ‘(2) ჯამით 2, ‘(2) ჯამით 2, ‘(4) ჯამით 4, ‘(2 2) ჯამით 4, ‘(2 4) ჯამით 6, ‘(2 4) ჯამით 6, ‘(2 2 4) ჯამით 8. და ამათგან 5 არის უნიკალური.
გარანტია გაქვთ რომ გადმოცემული სიის სიგრძე არ აღებატება 20. თქვენი ამოხსნა მაქსიმუმ 2 წამში უნდა აბრუნებდეს პასუხს.
კოდი დაწერეთ unique_sums.scm ფაილში. ამავე ფაილში მოცემულია ტესტები და მათი სწორი პასუხები. თითოეული ტესტი აბრუნებს #t ან #f შედეგს.
Kawa-ს გამოყენება გაუშვით დესკტოპზე არსებული Kawa-ს გამშვები ფაილი. თუ გსურთ დესკტოპზე არსებულ some-dir დირექტორიაში არსებული foo.scm ფაილის ჩატვირთვა ინტერპრეტატორში აკრიფეთ: (load “some-dir/foo.scm”)