zoukankan      html  css  js  c++  java
  • hdu 2462数论

    这题考查的内容还是比较多的,不过仅限于思路,如果模板准备充足的话还是很快的。

    这题首先要对问题进行转换。题目是给一个L,问由8组成的最短的能被L整除的数。不妨设长度为x。那么就是要求最小的x使8*[1+10+10^2+...+10^(x-1)] ≡ 0 (mod L)。

    也就是求最小的x使(8/9)*(10^x-1) ≡ 0 (mod L)。也就是求最小的x使10^x ≡ 1 (mod y),其中y = 9 * L / gcd(8, 9 * L)。于是存在满足题意的x当且仅当gcd(10, y) = 1。

    对于有解的情况,显然,x = φ(y)时,10^φ(y) ≡ 1 (mod y)成立,且每个符合条件的x都满足x|φ(y)。所以求出φ(y)的所有约数,从小到大试一试就得出结果了。用到的模板还是挺多的。

    /*
     * hdu3079/win.cpp
     * Created on: 2012-11-4
     * Author    : ben
     */
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <cmath>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <queue>
    #include <set>
    #include <map>
    #include <stack>
    #include <string>
    #include <vector>
    #include <deque>
    #include <list>
    #include <functional>
    #include <numeric>
    #include <cctype>
    using namespace std;
    map<char, char> mymap;
    void init() {
        char vowels[] = "aoeiu";
        char vowels2[] = "AOEIU";
        char consonant[] = "bcdfghjklmnpqrstvwxyz";
        char consonant2[] = "BCDFGHJKLMNPQRSTVWXYZ";
        for(int i = 0; i < 5; i++) {
            mymap[vowels[i]] = vowels2[i];
            mymap[vowels2[i]] = vowels2[i];
        }
        for(int i = 0; i < 21; i++) {
            mymap[consonant2[i]] = consonant[i];
            mymap[consonant[i]] = consonant[i];
        }
    }
    int main() {
    #ifndef ONLINE_JUDGE
        freopen("data.in", "r", stdin);
    #endif
        int T, len;
        char str[200];
        init();
        scanf("%d", &T);
        getchar();
        while(T--) {
            gets(str);
            len = strlen(str);
            for(int i = 0; i < len; i++) {
                str[i] = mymap[str[i]];
            }
            puts(str);
        }
        return 0;
    }
  • 相关阅读:
    Codeforces Round #717 (Div. 2)
    Codeforces Round #716 (Div. 2)
    atCoder Regular Contest 117
    Codeforces Round #715 (Div. 2)
    牛客挑战赛49
    从零开始搭建webpack应用
    扫盲:npm
    MYSQL安装
    Int和integer区别
    关于JDK配置以及DOS窗口执行指令
  • 原文地址:https://www.cnblogs.com/moonbay/p/2754001.html
Copyright © 2011-2022 走看看