zoukankan      html  css  js  c++  java
  • [NC189A]数字权重

    题目大意:有一个$n$位的数,设第$i$位为$a_i$(最高位为$a_1$)。问满足$(sumlimits_{i=2}^n(a_i-a_{i-1}))==k$的数的个数(不含前导零)

    解:发现$(sumlimits_{i=2}^n(a_i-a_{i-1}))==kLeftrightarrow a_n-a_1==k$。然后枚举$a_1$判断$a_n$是否合法就行了

    卡点:模数为$10^9+7$,写成$10^{10}+7$

    C++ Code:

    #include <cstdio>
    const long long mod = 1000000007;
    long long n, k, ans;
    long long pw(long long base, long long p) {
    	long long res = 1;
    	for (; p; p >>= 1, base = base * base % mod) if (p & 1) res = res * base % mod;
    	return res;
    }
    int main() {
    	scanf("%lld%lld", &n, &k);
    	for (int i = 1; i < 10; i++) {
    		if (i + k < 10 && i + k >= 0) (ans += pw(10, n - 2)) %= mod;
    	}
    	printf("%lld
    ", ans);
    	return 0;
    }
    
  • 相关阅读:
    10月6日动手动脑
    10月5日
    SQL
    bug 对应
    @OneToMany
    SQL Constraints
    SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
    子父表
    取字符串
    SQL中MAX()
  • 原文地址:https://www.cnblogs.com/Memory-of-winter/p/9639457.html
Copyright © 2011-2022 走看看