看一个大数能不能被11整除(方法)

夫妻数学协会(ACM)是一个非营利组织,致力于帮助单身人士找到他/她的另一半。11月11日是“单日”,在这一天,ACM邀请了一大批单身派对。人们聚在一起,与他人聊天,以及与之相匹配的合作伙伴。

派对上有N位绅士和女士,每位先生只能和一位女士搭配,反之亦然。为了记住光棍节,ACM决定将人分成11组,每组应该有相同数量的夫妇,没有人没有团体。

ACM能达到目标吗?

输入

输入的第一行是一个正整数T. T是后面的测试用例的数量。每个测试用例包含两个整数N和M(0≤N,M≤10^ 1000),它们是绅士和女士的数量。

产量

对于每个测试用例,如果可以找到某个方法,输出“YES”,否则输出“NO”。

示例输入

3
1 1
11 11
22 11

示例输出

没有
没有

该题数据量很大 只能用char做 

偶数项的数字-基数项的数字如果能被11 整除 那么这个数就能被11 整除

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
char a[1000000],b[1000000];
int main()
{
    long long int n,c,sum=0,i;
    scanf("%lld",&n);
    while(n--)
    {
        sum=0;
        scanf("%s%s",a,b);
        if(strcmp(a,b)==0)
        {
            c=strlen(a);
            for(i=0;i<=c-1;i++)
            {
                if(i%2==0)
                    sum=sum+(a[i]-'0');
                else
                    sum=sum-(a[i]-'0');


            }
            if(sum%11==0)
                printf("YES\n");
            else
                printf("NO\n");
        }
        else
            printf("NO\n");
    }
}


猜你喜欢

转载自blog.csdn.net/najiuzheyangbaacm/article/details/80141300