Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
package main import ( "fmt" "math" ) // Fungsi untuk menghitung jumlah minimum koin dan banyak kombinasi koin func minCoinsAndCombinations(amount int, coins []int) (int, int) { // Array untuk menyimpan jumlah minimum koin untuk setiap nilai minCoins := make([]int, amount+1) for i := range minCoins { minCoins[i] = math.MaxInt32 } minCoins[0] = 0 // Array untuk menyimpan jumlah kombinasi untuk setiap nilai dp := make([]int, amount+1) dp[0] = 1 for _, coin := range coins { for i := coin; i <= amount; i++ { // Perbarui minCoins untuk nilai saat ini if minCoins[i-coin]+1 < minCoins[i] { minCoins[i] = minCoins[i-coin] + 1 } // Perbarui jumlah kombinasi untuk nilai saat ini dp[i] += dp[i-coin] } } return minCoins[amount], dp[amount] } func main() { // Nominal yang ingin dibentuk amount := 146 // Pecahan koin yang tersedia coins := []int{1, 5, 10, 25, 50, 100} // Mendapatkan hasil minKoin, kombinasi := minCoinsAndCombinations(amount, coins) fmt.Printf("Jumlah minimum koin untuk membentuk %d: %d\n", amount, minKoin) fmt.Printf("Banyak kombinasi koin untuk membentuk %d: %d\n", amount, kombinasi) }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)