哈理工院赛-小乐乐的组合数

题目描述

小乐乐得知一周有7天之后就对7产生了兴趣。

小乐乐得到了两堆数字数字时连续的。

第一堆包含[1,n]n个数字,第二堆包含[1,m]m个数字。

小乐乐想要从两堆中各挑选出一个整数x,y,使得x,y的和为7的倍数。

请问小乐乐有多少种组合的方式。

输入描述:

输入整数n,m。(1<=n,m<=1e6)

输出描述:

输出满足的对数。

示例1

输入

6 7

输出

6

说明

(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)

思路:

​ 从n,m中找一个较小值,用i遍历这个较小值,然后累加((i + 较大值) / 7)- (i / 7)即为答案

代码:

#include 
int main () {
    long long n, m;
    scanf("%lld%lld", &n, &m);
    long long ans = 0;
    if (n > m) {
        long long flag = n;
        n = m;
        m = flag;
    }
    for (int i = 1; i <= n; i++) {
        long long k = i + m;
        ans += k / 7 - i / 7;
    }
    printf("%lld\n", ans);
    return 0;
}

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢

你可能感兴趣的:(ACM,思维)