zoukankan      html  css  js  c++  java
  • [luoguP1015] 回文数(模拟 + 高精度?)

    传送门

    类似高精的操作。。。

    代码

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #define N 100001
    
    int n, len;
    int a[N], b[N], c[N];
    char m[N];
    
    inline bool check()
    {
    	for(int i = 1; i <= len; i++)
    		if(a[i] ^ b[i])
    			return 0;
    	return 1;
    }
    
    int main()
    {
    	int i, j;
    	scanf("%d", &n);
    	scanf("%s", m + 1);
    	len = strlen(m + 1);
    	for(i = len; i >= 1; i--)
    	{
    		if(isdigit(m[i])) a[len - i + 1] = m[i] - '0';
    		else a[len - i + 1] = m[i] - 'A' + 10;
    	}
    	for(i = 1; i <= len; i++) b[len - i + 1] = a[i];
    	for(i = 1; i <= 30; i++)
    	{
    		memset(c, 0, sizeof(c));
    		for(j = 1; j <= len; j++)
    		{
    			c[j] += a[j] + b[j];
    			c[j + 1] += c[j] / n;
    			c[j] %= n;
    		}
    		len++;
    		while(!c[len]) len--;
    		for(j = 1; j <= len; j++) a[j] = c[j];
    		for(j = 1; j <= len; j++) b[len - j + 1] = a[j];
    		if(check())
    		{
    			printf("STEP=%d
    ", i);
    			return 0;
    		}
    	}
    	puts("Impossible!");
    	return 0;
    }
    

      

  • 相关阅读:
    Abp 领域事件简单实践 <一>
    Abp session和Cookie
    Abp 聚合测试
    反向代理
    Angular 变更检测
    VS 之github
    Docker 启动SQLServer
    查出第二大的数是多少
    DDD 理解
    ActionBar的简单应用
  • 原文地址:https://www.cnblogs.com/zhenghaotian/p/7080701.html
Copyright © 2011-2022 走看看