女赛--god is a girl

题意:从给定的字符串转化找规律
思路:先求斐波那契数列,原字符,A-Z之间的字符依次往下数斐波那契数个位置,到Z就从A再重新循环

感想:真真没有看出规律来。。想到了是ASCLL值。。因为字符本身没有规律,,那也就是ASCLL码值了。。把每一个字符都打出来了,但是没有想到是斐波那契数。。。。尴尬。。。实在其他同学讨论的时候凑了一耳朵才知道的。。。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
#include<queue>
using namespace std;
#define INF 0x3f3f3f3f;
int t,n,a[1000005];
char ch[3000];
int main()
{
    a[1]=1;
    a[2]=1;
    for(int i=3;i<=1000000;i++)
    {
        a[i]=(a[i-1]+a[i-2])%26;
    }
    int j;
    while(gets(ch))
    {
        j=1;
        for(int i=0;i<strlen(ch);i++)
        {
            if(ch[i]>='A'&&ch[i]<='Z')
            {
                ch[i]=((ch[i]-'A'+a[j])%26+'A');
                j++;
            }
        }
        printf("%s\n",ch);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37868325/article/details/80279745