zoukankan      html  css  js  c++  java
  • 哈理工(HUST)第八届程序设计竞赛--小乐乐的组合数

    这道题目是一道数学题,我们可以假设n为7,m为14。

    这样的话我们就可以很清晰地看到7和7可以拼接在一起,这是一对,然后是7和14拼接在一起,第二对。

    我们可以直接让n/7,m/7,这样就是1*2,就得到了二。

    我们还可以知道,1可以和6拼,1可以和13拼,我们可以用循环从一找到六,查看 n和m里面总共有几对。

    然后就是n和m模7之后的 余数了,每一个余数,都可以和n和m中的1~6循环拼接一次,所以我们要直接在循环语句

    里面加上这一句,然后就是余数和余数的拼接了,我们直接把它加在可以乘上的次数之上就可以了,还是上代码吧。

    #include <iostream>
    #define ll long long
    using namespace std;
    int main()
    {
        ll n,m;
        cin>>n>>m;
        ll ans=0;
        for (int i=1;i<=6;i++) {
            ll x=n/7+(((n%7)>=i)?1:0);
            ll y=m/7+(((m%7)>=(7-i))?1:0);
            ans+=x*y;
        }
        ans+=(n/7)*(m/7);
        cout<<ans<<endl;
        return 0;
    }
    

    值得注意的一点是,n和m都要开成long long 的,不然过不了。

  • 相关阅读:
    HTML5拖拽
    HTML5地理定位
    HTML5文件读取
    HTML5全屏
    HTML5网络状态
    可爱的小黄人
    HTML5新增特性
    前端表单标签
    前端(表格)
    前端列表
  • 原文地址:https://www.cnblogs.com/xyqxyq/p/10211347.html
Copyright © 2011-2022 走看看