zoukankan      html  css  js  c++  java
  • 牛客 安徽大学新生赛 E

      传送门:https://ac.nowcoder.com/acm/contest/2720/E

    题意:给你一个n (n<=10 ^ ( 10 ^ 5 ) ),然后给你一种操作::每次操作你将得到上一个数的十进制所有数位之和,重复若干次直到最后的为一位数;

    叫你找到数m(m>1),满足每次操作得到的数(包括n)要麽都能整除m要麽都不能

    思路::

    1)特判一下长度为1时,答案显然为 2;

    2)当每次得到的数(包括n)均为奇数或者偶数时 答案显然为 2 ;

    3)其他情况就是奇偶数都存在,仅考虑最后得到的那一位数,如果它能整除3说明 之前得到的数 全部能整除3(各位数之和能整除3即为3 的倍数),反之均不能整除3

     因此 答案 就在2 3之间

     1 #include <bits/stdc++.h>
     2 #define ll long long
     3 using namespace std;
     4 const int maxn=1e6+5;
     5 const int  MOD=2333;
     6  
     7 template<class T>inline void read(T &res)
     8 {
     9 char c;T flag=1;
    10 while((c=getchar())<'0'||c>'9')if(c=='-')flag=-1;res=c-'0';
    11 while((c=getchar())>='0'&&c<='9')res=res*10+c-'0';res*=flag;
    12 }
    13  
    14 char a[maxn];
    15 vector<int>v;
    16 int main()
    17 {
    18     int t;
    19     scanf("%d",&t);
    20     while(t--){
    21         v.clear();
    22         scanf("%s",a+1);
    23         if(strlen(a+1)==1){
    24             printf("2
    ");continue;
    25         }
    26         int sum=0;
    27         for(int i=1,j=strlen(a+1);i<=j;i++){
    28             sum+=(a[i]-'0');
    29         }
    30         v.push_back(sum);
    31         while(sum>=10){
    32             int t=0;
    33             while(sum!=0){
    34                 t+=(sum%10);
    35                 sum/=10;
    36             }
    37             v.push_back(t);
    38             sum=t;
    39         }
    40         v.push_back(sum);
    41         int flag=0;
    42         for(int i=0;i<v.size();i++){
    43             if(v[i]%2!=0){flag++;}
    44         }
    45         if((flag==v.size()&&a[strlen(a+1)]%2==1)||(flag==0&&a[strlen(a+1)]%2==0)){
    46             cout<<"2"<<endl;
    47         }
    48         else{
    49             cout<<"3"<<endl;
    50         }
    51     }
    52     return 0;
    53 }

    不足之处还请指出!!!!

    纵使单枪匹马,也要勇闯天涯
  • 相关阅读:
    站内信DB设计实现
    redis.conf配置详细解析
    MySQL中的锁(表锁、行锁)
    App开放接口api安全性—Token签名sign的设计与实现
    Linux下恢复误删除的文件
    系统资源监控工具
    MySQL性能监控工具-MONyog
    jstack Dump 日志文件中的线程状态
    数据库性能测试方案示例
    [转载]ant和maven的区别
  • 原文地址:https://www.cnblogs.com/sj-gank/p/11967416.html
Copyright © 2011-2022 走看看