解题思路:
存在一个最小的整数x,使得pow(2,x)>=n,则每隔pow(2,x)就会循环一次。
注意事项:
参考代码:
#include<iostream>
#include<cstring>
using namespace std;
typedef long long ll;
string s;
string temp;
ll n;
ll t;
int yihuo(char a,char b)
{
if(a==b)
return 0;
return 1;
}
int main()
{
cin>>n>>t;
cin>>s;
ll max_per=1;
while(max_per<n)
max_per*=2;
t%=max_per;
for(int i=0;i<t;i++)
{
temp=s;
for(int j=1;j<n;j++)
s[j]=(temp[j-1]-'0')^(temp[j]-'0')+'0';
}
cout<<s;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:768 |
成绩转换 (C语言代码)浏览:1012 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:462 |
DNA (C语言代码)浏览:540 |
sizeof的大作用 (C语言代码)浏览:1474 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:521 |
核桃的数量 (C语言代码)浏览:872 |
C二级辅导-等差数列 (C语言代码)浏览:724 |
用筛法求之N内的素数。 (C语言代码)浏览:537 |