zoukankan      html  css  js  c++  java
  • Codeforces Round #643 A Sequence with Digits

    http://codeforces.com/contest/1355/problem/A

    (1le a_1le 10^{18})(1le kle 10^{16})

    似乎一脸不可做的样子。

    但是,注意到 (mathbb{minDigit}) 可能会出现零,所以我们可以加一个小优化,当 (mathbb{minDigit}(a_n)=0) 时,就可以直接跳出了。

    Code:

    #include<bits/stdc++.h>
    using namespace std;
    long long mi(long long n) {
    	long long ans=10;
    	while(n) {
    		ans=min(ans,n%10);
    		n/=10;
    	}
    	return ans;
    }//分解出 minDigit
    long long ma(long long n) {
    	long long ans=-1;
    	while(n) {
    		ans=max(ans,n%10);
    		n/=10;
    	}
    	return ans;
    }//分解出 maxDigit
    long long t,a,k;
    int main() {
    	scanf("%lld",&t);
    	while(t--) {
    		scanf("%lld %lld",&a,&k);
    		for(int i=1;i<k;i++) {
    			long long x=mi(a),y=ma(a);
    			if(x*y==0)//出现零
    			    break;//跳掉
    			a+=x*y;
    		}
    		printf("%lld
    ",a);
    	}
    }
    
  • 相关阅读:
    ES6相关概念及新增语法
    正则表达式
    递归
    高阶函数和闭包
    严格模式
    this指向
    递归
    严格模式
    函数内部的this指向
    函数的定义和调用
  • 原文地址:https://www.cnblogs.com/lajiccf/p/12951602.html
Copyright © 2011-2022 走看看