小红的循环移位

小红的循环移位

https://ac.nowcoder.com/acm/contest/80742/C

小红的循环移位

标签: 字符串 大数 循环

难度: 适中

思路:

考察一个数是否为4的倍数,只需考查该数后两位是否是4的倍数即可(个位数特判),对于循环移位,只需考察移动n-1次即可,只要碰到符合条件就终止,将数存为字符串,栽想象成一个环,然后处理这个环即可。

示例:

#include<bits/stdc++.h>
using namespace std;

string s;
int main()
{

    cin>>s;
    int n=s.length(),i;
    for(i=-1;i<n-1;i++)
    {
        int tmp=0;
        tmp+=s[(n+i)%n]-'0';
        tmp+=(s[(n+i-1)%n]-'0')*10;
        if(tmp%4==0)break;
        
    }
    if(i==n-1)
        cout<<-1;
    else
        cout<<i+1;


    return 0;
}

全部评论

相关推荐

03-13 16:51
已编辑
门头沟学院 硬件开发
点赞 评论 收藏
分享
用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务