小红的循环移位

小红的循环移位

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;
}

全部评论

相关推荐

最喜欢秋天的火龙果很...:第一份工作一定要往大的去,工资低点没事。后面换工作会更好找,即使你去小公司,你也不可能不会换工作的。所以找大的去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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