题解 | 九倍平方数

九倍平方数

https://www.nowcoder.com/practice/032c72fab5fe4a2ea8e11d40378a493d

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int test_num = 0;
   scanf("%d", &test_num);
   char buf[100001];
   int ch = getchar();        //用来吸收上一个回车

   while(test_num--)
   {
       
       fgets(buf, 100001, stdin);
        int len = strlen(buf) - 1;
        buf[len] = '\0';

       int sum = 0;
       for(int i = 0; buf[i] != '\0'; i++)
       {
           sum += buf[i] - '0';        //注意类型,要转换
       }

       int buf_len = strlen(buf);
       int nums[2] = {0};                             //贮存2和3的个数
       for(int i = 0; i < buf_len; i++)
       {
           if(buf[i] == '2')
           {
               nums[0]++;
           }
           if(buf[i] == '3')
           {
               nums[1]++;
           }
       }

       int flag = 0;
       //开始枚举
       for(int i = 0; i <= nums[0]; i++)
       {
           if(flag) {break;}         //判断本次循环是否结束
           for(int j = 0; j <= nums[1]; j++)
           {
               int answer = sum + i * 2 + j * 6;
               if (answer % 9 == 0)
               {
                   flag = 1;
                   printf("YES\n");
                   break;
               }
           }
       }

       if(!flag)
       {
           printf("NO\n");

       }

   }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务