zoukankan      html  css  js  c++  java
  • 2017年10月07日普及组 数列

    这里写图片描述

    分析
    1.等差数列因为2个数之间的值是固定值b,若a<=u就可以直接求出a~u之间等差数列的数量(u-a) div b+1。
    2.等比数列直接做就好了,因为是逐级乘法,所以速度挺快的,不过要判断*1的情况,如果等比数列某项c小于等差数列的初始项a就一定不在等差数列中,这时候就可以累加了,c=a的时候在等差数列中已经累加过了,如果c>a的话就判断(c-a) mod b等不等于0,等于0就是在等差数列中,这时候不累加,否则累加。

    程序:

    var
    a,b,c,d,up,ans:int64;
    begin
        assign(input,'shulie.in');
        reset(input);
        assign(output,'shulie.out');
        rewrite(output);
        read(a,b,c,d,up);
        if a<=up then ans:=(up-a) div b+1;
        while c<=up do
        begin
            if c<a then inc(ans) else
            if c>a then
            if (c-a) mod b<>0 then inc(ans);
            c:=c*d;
            if d=1 then break;
        end;
        write(ans);
        close(input);
        close(output);
    end.
    
    
  • 相关阅读:
    Python内存管理机制
    哈希表(散列表)
    Python面向对象三大特性
    Python 面向对象继承
    Python面向对象 类的空间问题
    面向对象初识
    增量式爬虫
    分布式爬虫
    crawlscrapy框架
    HTML
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500038.html
Copyright © 2011-2022 走看看