首页 > 其他 > 详细

水题-----判断循环的位数

时间:2020-04-10 13:17:29      阅读:53      评论:0      收藏:0      [点我收藏+]

题目链接:https://vjudge.net/problem/UVA-455

题解:本来是个水题,却暴露出了读题不认真的问题,最后输出循环体的位数,而不是循环体出现的次数.输出每两个加1个空行

        此处的假设5,while(n--)是先判断n!=0在循环n--。循环5次,循环中n为4,3,2,1,0;如果写while(--n)那先做差在判断n!=0,循环4次

ac代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 1100
using namespace std;
char s[maxn];
int main()
{
    int n,i,l,sum,k;
    cin>>n;
    getchar();
    while(n--)
    {
        scanf("%s",s);
        l=strlen(s);
        for(i=1; i<=l; i++)
        {
            int flag=0;
            if(l%i!=0)
                continue;
            for(int j=1; j<l/i; j++)
                if(strncmp(s,s+i*j,i)!=0)
                {
                    flag=1;
                    continue;
                }
            if(!flag)
            {
                    break;
            }
        }
        cout<<i<<endl;
        if(n!=0)  cout<<endl;
    }
    return 0;
}

水题-----判断循环的位数

原文:https://www.cnblogs.com/Joe2019/p/12672594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!