2156 - 雨花石

通过次数

0

提交次数

0

时间限制 : 3 秒 内存限制 : 128 MB

我是一颗小小的石头

深深的埋在泥土之中

你的影子已看不清

我还在寻觅当初你的笑容

我是一颗小小的石头

深深的埋在泥土之中

千年以后繁华落幕

我还在风雨之中为你等候

我还在土中为你守候

——李玉刚《雨花石》

前世的九百九十九次回眸,才能换得今日的相守。

九,为数之极,故宫原定修建的时候,便有9999间房子。

古人对九的研究也从未停止过。

今天我们就尝试着研究一下。这个问题很简单:给你一个数,判断能否被9整除。

题目输入

输入数据的第一行是一个数据T,表示有T组测试数据。

每组数字占一行(数字的位数在12000位之间)。

题目输出

对每一组样例,判断能否被9整除。能则输出YES,不能则输出NO

输入/输出样例

输入格式

5
9
13
17
27
99999999

输出格式

YES
NO
NO
YES
YES

C语言解答

#include<stdio.h>
#include<string.h>
int main(void)
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        char a[2005];
        int i;
        scanf("%s",a);
        int len=strlen(a);
        int ans=0;
        for(i=0;i<len;i++)

        ans=(int)(((long long)ans*10+(a[i]-'0'))%9);

        if(ans%9==0) printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}

C++解答

#include <stdio.h>
#include <string.h>
int main()
{int n;
char s[10000];
scanf("%d",&n);
while(n--)
{
	scanf("%s",s);
	int l=strlen(s);
	int sum=0,i;
	for(i=0;i<l;i++)
	{
		sum=sum+s[i]-'0';
	}
	if(sum%9==0) printf("YES\n");
	else printf("NO\n");
}

  return 0;
}

Java解答

import java.util.Scanner;
import java.math.BigInteger;

public class Main{
	  public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int m;
		BigInteger n,jiu = BigInteger.valueOf(9),zero=BigInteger.ZERO;
		m = in.nextInt();
		for(int i=0;i<m;i++)
		{
			n = in.nextBigInteger();
			
			if(n.mod(jiu).compareTo(zero)==0)
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
}