1. 程式人生 > >看一個大數能不能被11整除(方法)

看一個大數能不能被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");
    }
}