zoukankan      html  css  js  c++  java
  • UVa 10176

      题目大意:判断一个很大的二进制能否被131071整除。在二进制转十进制的过程中不断取模,最后判断结果是否是0就可以了。

     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 int main()
     5 {
     6 #ifdef LOCAL
     7     freopen("in", "r", stdin);
     8 #endif
     9     char str[200];
    10     while (gets(str))
    11     {
    12         int t = 0;
    13         bool stop = false;
    14         do
    15         {
    16             int len = strlen(str);
    17             for (int i = 0; i < len; i++)
    18             {
    19                 if (str[i] == '#')
    20                 {
    21                     stop = true;
    22                     break;
    23                 }
    24                 if (str[i] == '0' || str[i] == '1')
    25                 {
    26                     t = t * 2 + str[i] - '0';
    27                     if (t >= 131071)  t %= 131071;
    28                 }
    29             }
    30         } while (!stop && gets(str));
    31         if (t == 0)  printf("YES
    ");
    32         else  printf("NO
    ");
    33     }
    34     return 0;
    35 }
    View Code

      话说这个输入还是小小纠结了一下。

  • 相关阅读:
    数据对象映射模式
    策略模式
    适配模式
    注册模式
    单例模式
    工厂模式
    PHP魔法方法的使用
    【转】通过 ulimit 改善系统性能
    HDMI相关知识
    中国三种3G网络频段
  • 原文地址:https://www.cnblogs.com/xiaobaibuhei/p/3332215.html
Copyright © 2011-2022 走看看