列表

详情


NC247575. 牛牛去购物

描述

牛牛带着 n 元钱去超市买东西,超市一共只有两款商品,价格为 a 元的篮球和价格为 b 元的足球,牛牛想把手里的钱尽可能花光,请问牛牛最少能剩多少钱?

输入描述

输入一行,三个正整数 n 表示牛牛现有的钱数,a 表示一个篮球的单价,b 表示一个足球的单价。

输出描述

输出一行一个整数,代表牛牛最少能剩下的钱数。

示例1

输入:

7 5 3

输出:

1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3 解法, 执行用时: 41ms, 内存消耗: 4568K, 提交时间: 2023-08-13 15:43:43

n,a,b=map(int,input().split())
print(min((n-i*a)%b for i in range(n//a+1)))

Java 解法, 执行用时: 46ms, 内存消耗: 10744K, 提交时间: 2023-08-10 10:02:03

import java.util.Scanner;

public class Main {
    public static void main(String[] arg) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt(), a = scanner.nextInt(), b = scanner.nextInt();
        int ans = n;
        for ( int i = 0; i * a <= n; i++ ) {
            ans = Math.min(ans, (n - a * i ) % b);
        }
        
        System.out.println(ans);
    }
}

Go 解法, 执行用时: 3ms, 内存消耗: 1000K, 提交时间: 2023-08-09 23:20:35

package main
import "fmt"

func main() {
    var n, a, b int
    fmt.Scanf("%d %d %d", &n, &a, &b)
    ans := n
    
    for i := 0; i * a <= n; i++ {
        ans = min(ans, (n - i * a) % b)
    }
    fmt.Println(ans)
}

func min(a, b int) int { if a < b { return a }; return b }

PHP 解法, 执行用时: 9ms, 内存消耗: 3088K, 提交时间: 2023-08-09 23:18:30

<?php

$input = explode(' ', fgets(STDIN));
// todo
$n = intval($input[0]);
$a = intval($input[1]);
$b = intval($input[2]);

$ans = $n;
for ( $i = 0; $i * $a <= $n; $i++ ) {
    $ans = min(($n - $i*$a)%$b, $ans);
}
echo $ans;

C++ 解法, 执行用时: 3ms, 内存消耗: 556K, 提交时间: 2023-08-09 23:14:10

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6;
typedef long long ll;
int main()
{
	int t = 1;
	while( t-- )
	{
		int n,a, b;
		cin >>n>> a >>b;
		int ans = n;
		for( int i = 0 ; i *a <= n ; i++ )
		{
			ans = min(ans, (n-i*a)%b);
		}
		cout << ans;
	}
}

上一题