入门题
考点:字符串的处理+周期问题
1、排除小数点前的数;(第一部分)
2、判断小数点后并且是括号之前的数符不符合n个数(第二部分)
3、判断括号里面的数、这时需要用数组存,并且用周期计算方法计算结果。注意:1要减去第二部分的位数、2、是完整周期也是%k为0的时候,输出a[k],否则输出a[(n-w)%k];
#include<bits/stdc++.h>
using namespace std;
int n,w,a[1000005],k;
string s;
bool f,ff;
int main(){
cin>>n>>s;
for(int i=0;i<s.size();i++)
{
if(s[i-1]=='.') f=1;
if(f)
{
if(s[i]=='(')
{
ff=1;
continue;
}
if(ff==0)w++;
if(w==n) {
cout<<s[i];return 0;
}
if(ff==1&&s[i]!=')')
{
a[++k]=s[i]-'0';
}
}
}
if((n-w)%k==0) cout<<a[k];
else cout<<a[(n-w)%k];
return 0;
}
超人编程抖音
https://v.douyin.com/i5gSJmyx/ Z@M.ws