1. 程式人生 > >小樂樂的組合數+

小樂樂的組合數+

連結:https://ac.nowcoder.com/acm/contest/301/A
來源:牛客網
 

題目描述

小樂樂得知一週有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)

分析:先記錄1~n之間的數對7取餘後(0~6)的個數用陣列a記錄,組合方式為7減去1~m之間的數對7取餘的結果個數相加,當中間出現7的倍數時與a[0]相加。

程式碼如下:

#include<stdio.h>
int main()
{
    long long n,m,d=0,i,j,a[10]={0};
    scanf("%lld%lld",&n,&m);
    for(i=1;i<=n;i++)
    {
        a[i%7]++;
    }
    for(i=1;i<=m;i++)
    {
        if(i%7!=0)
        d+=a[7-i%7];
        else
        d+=a[0];   
    }
    printf("%lld\n",d);
    return 0;
}