zoukankan      html  css  js  c++  java
  • hdu 1098

    http://acm.hdu.edu.cn/showproblem.php?pid=1098

    假设x=m时,65|f(m),即65|5*m^13+13*m^5+k*a*m

    计算f(m+1)=(5*m^13+13*m^5+k*a*m)+65*(m^12+6*m^11+22*m^10+55*m^9+99*m^8+132*m^7+132*m^6+99*m^5+56*m^4+24*m^3+8*m^2+2*m)+(18+k*a)

    式子的前两部分显然能被65整除,此时如果65|(18+k*a),那么65|f(m+1)。

    同时观察到f(1)=18+k*a,所以如果65|f(1),则65|f(m+1),此时对于所有x>1,65|f(x)均成立

    这样问题就转化到是否存在a使得65|(18+k*a),我们从1-64进行枚举,先找到满足条件的a必定是最小的,符合题目要求,均不成立则输出"no"

    #include <iostream>
    using namespace std ;
    int main()
    {
        int k ;
        while(~scanf("%d",&k))
        {
            int a=0 ;
            for(int i=1 ;i<65 ;i++)
            {
                if((18+k*i)%65==0)
                {
                    a=i ;
                    break ;
                }
            }
            if(!a)
                puts("no") ;
            else
                printf("%d
    ",a) ;
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    RegExp
    svn操作
    前端跨域请求
    UML
    excel 常用设置
    python中 cmp
    python global nonlocal
    python常见异常提示
    table边框和td的width失效
    display_css
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/3445359.html
Copyright © 2011-2022 走看看