小凯的疑惑

时间:2019-09-16
本文章向大家介绍小凯的疑惑,主要包括小凯的疑惑使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目:

【问题描述】 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。   【输入格式】 输入文件名为 math.in。 输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手 中金币的面值。
 
【输出格式】 输出文件名为 math.out。 输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准 确支付的最贵的物品的价值。
 
【输入输出样例 1】 math.in math.out 3 7
 11
 
见选手目录下的 math/math1.in 和 math/math1.ans。 【输入输出样例 1 说明】 小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为1、 2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:
 12 = 3 * 4 + 7 * 0   13 = 3 * 2 + 7 * 1   14 = 3 * 0 + 7 * 2  15 = 3 * 5 + 7 * 0 ……
 
【输入输出样例 2】 见选手目录下的 math/math2.in 和 math/math2.ans。
 
【数据规模与约定】 对于 30%的数据: 1 ≤ a,b ≤ 50。 对于 60%的数据: 1 ≤ a,b ≤ 10,000。 对于 100%的数据:1 ≤ a,b ≤ 1,000,000,000。

思路:

主要来源于数学公式,没有学过公式的一般看不出来。

注:long long取值范围-2^63——2^63-1

long取值范围-2^31——2^31-1

int取值范围-2^31——2^31-1

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    long long a,b,c=0;
    cin>>a>>b;
    c=a*b-a-b;
    cout<<c<<endl;
    return 0;
}

原文地址:https://www.cnblogs.com/sweet-ginger-candy/p/11526089.html