Problem rozmieniania

0

algorytm ma na celu np podajemy na wejsciu liczbe 20 i on nam wypisuje na wyjsciu iloma sposobami mozna wypisac liczbe 20 (1x20,2x10, 4x5 itp) Pozdro

Sample input

20

Sample output

20 4

Wie ktos jak dokonczyc ten program, zeby mozna bylo podac parametr i wyswietlic dana sume?

private static long cntWaysForFormingSum[] = new long[40001];
private static int nominals[] = {1,2,5,10,20,50,100};

for (int i=0; i<nominals.length; i++){
for (int sum=0; sum<=MAX_SUM; sum++){
if (cntWaysForFormingSum[sum] > 0 &&
sum+nominals[i]<=MAX_SUM){
cntWaysForFormingSum[sum+nominals[i]] += cntWaysForFormingSum[sum];
}

}
}

0

np tak:

import java.util.ArrayList;
import java.io.*;
import java.lang.Exception;

public class Main {
public Main(){
pobierzDane();
}
public int liczba=0;
public int sposoby=0;
public void pobierzDane(){
    BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));

    //liczba=System.
    try {
        this.liczba = Integer.parseInt(stdin.readLine());
    } catch (IOException e) {
        e.printStackTrace();
    }
    policzSposoby();
}

public void policzSposoby(){
for(int i=1;i<=liczba;i++){
    if(liczba%i==0){
    sposoby++;
    }
}
System.out.println("sposoby: "+sposoby);
}
    public static void main(String[] args) {
        Main ileSposobow = new Main();
    }
}
0

A jak zrobc zeby ten moj algorytm zadzialal liczaczy na ile sposobow mozna wydac np 20zl majac
(20zl,10zl,5zl,2zl,1zl):)

1 użytkowników online, w tym zalogowanych: 0, gości: 1