zoukankan      html  css  js  c++  java
  • 洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)

    题目 :P3951 小凯的疑惑 :https://www.luogu.org/problemnew/show/P3951


    题目描述

    小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。

    输入输出格式

    输入格式:

    两个正整数 aaa 和 bbb,它们之间用一个空格隔开,表示小凯中金币的面值。

    输出格式:

    一个正整数 NNN,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

    输入输出样例

    输入样例#1:
    3 7
    输出样例#1:
    11
    

    说明

    【输入输出样例 1 说明】

    小凯手中有面值为333和777的金币无数个,在不找零的前提下无法准确支付价值为1,2,4,5,8,111, 2,4,5,8,111,2,4,5,8,11 的物品,其中最贵的物品价值为 111111,比11 1111 贵的物品都能买到,比如:

    12=3×4+7×012 = 3 imes 4 + 7 imes 012=3×4+7×0

    13=3×2+7×113 = 3 imes 2 + 7 imes 113=3×2+7×1

    14=3×0+7×214 = 3 imes 0 + 7 imes 214=3×0+7×2

    15=3×5+7×015 = 3 imes 5 + 7 imes 0 15=3×5+7×0

    【数据范围与约定】

    对于 30%30\%30%的数据: 1≤a,b≤501 le a,b le 50 1a,b50。

    对于 60%60\%60%的数据: 1≤a,b≤1041 le a,b le 10^4 1a,b104。

    对于100% 100\%100%的数据:1≤a,b≤1091 le a,b le 10^9 1a,b109。


    相关博客:https://www.cnblogs.com/xxzh/p/9178564.html 

         https://www.cnblogs.com/jefflyy/p/7819858.html

    这道题是一道有关数论的题。

    针对于这种类型的题,我们总结有一般规律:

      !!遇到数学问题就打表找规律!!

    对于该题我们发现C=ab-a-b。

    在这里,我们已知 :

      赛瓦维斯特定理 :已知 a,b为大于1的正整数,gcd(a,b)=1,则使不定方程 ax+by=C无负数解的最大整数C=ab-a-b。

    所以,我们可以轻松得出 :

     1 //
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cctype>
     5 #include <cstring>
     6 #include <cmath>
     7 #include <algorithm>
     8 using namespace std;
     9 typedef unsigned long long ll;
    10 #define ri register ll
    11  
    12 ll a,b;
    13  
    14 signed main()
    15 {
    16     ios::sync_with_stdio(0),cin.tie(0);
    17     cin>>a>>b;
    18     cout<<a*b-a-b<<'
    ';
    19     return 0;
    20 }
    21 //
  • 相关阅读:
    Code review
    一点心得
    有关双向追踪性的一点感觉
    测试用例分析的一点心得
    js简单的抽屉菜单
    新的感受
    linux的VPS如何分区
    PHP中Unicode转码和解码的实现
    xampp安装及配置
    js Unicode编码转换
  • 原文地址:https://www.cnblogs.com/Vty66CCFF/p/11100524.html
Copyright © 2011-2022 走看看