NOI:1953 循环数

题目链接

NOI:1953 循环数_第1张图片

题解:高精度乘法;判断字符串是否存在子串(首尾相连)

注意:数字串是2-60位,所以只可以使用数组进行运算,即高精度乘法,一位一位去运算进位和结果,并且在做题的时要注意每次是对原数进行乘法,而不是上一次乘法的结果进行乘法,所以使用a[]进行每次计算,用b[]记录每次乘法结果;然后将字符串首尾相连,s+s判断里头是否含有运算出来的结果字符串find(str,0)

#include 
#include 
#include 
using namespace std;
string s;
int main(){
    cin>>s;//首先输入字符串
    int a[s.size()];
    for(int i=0;i=0;i--){
            int t=a[i]*j+jin;//计算每一位的结果
            jin=(t)/10;//进位
            b[i]=(t)%10;//余数
        }
        for(int i=0;i

你可能感兴趣的:(NOI,NOI)