zoukankan      html  css  js  c++  java
  • 模和除

    模和除

     

    题目描述

    两个整数x和y,满足1<=x<=a,1<=y<=b 且x%y等于x/y的x和y的对数有多少?
    x%y是x除以y的余数, x/y是x除以y的商,即整数除。

    输入

    不超过1000组样例,每个样例占一行,包含两个整数a,b (1 <= a,b <= 10^10);

    输出

    每个样例输出一行,一个整数,表示答案。

    样例输入

    1 1
    5 5
    100 100

    样例输出

    0
    3
    227

    看上去是不是很简单x%y==x/y。。。
    如果你这么想那就大错特错了。看
    a,b (1 <= a,b <= 10^10); 这可不是个不是个小数目啊!

    我也是经过了无数次的尝试,慢慢摸索出来的,(嘻嘻,还是大学最后一次英语课想出来的,不过回来写代码还是有有一些漏洞没考虑到, ,所以又牺牲了几次 ,但是现在满血复活了!o(∩_∩)o 哈哈) 图片

      hncu793116483是我。。。当然不止这么多错次,,大概有20次吧 ,粗心了。。。。

    o(︶︿︶)o 唉,当时比赛的时候怎么就想不到呢,,,
    原来规律就在a和b里面呢, 
    图片附上代码:
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        __int64 a,b,sum,c;
        __int64 i,j,temp;
        while(scanf("%I64d%I64d",&a,&b)!=EOF)
        {
    
            sum=0;
            if(a<1||b<1)
                continue;
            if(b+1>=a)
            {
                for(i=1;i<sqrt(a);i++)
                {
                    temp=a/i-1-i;
                    if(temp>0)
                        sum+=temp;
                }
            }
            else
            {
                sum+=b-1;
                j=(__int64)sqrt(a)<b?(__int64)sqrt(a):b;
                for(i=2;i<=j;i++)
                {
                    c=a/i;
                    if(c>b)
                    {
                        sum+=b-i;
                    }
                    else
                    {
                        temp=c-i-1;
                        if(temp>0)
                            sum+=temp;
                    }
                }
    
            }
            printf("%I64d
    ",sum);
        }
        return 0;
    }

    纪念一下!

  • 相关阅读:
    C++ Websites
    C++ smart pointer
    Use of ‘const’ in Functions Return Values
    Meaning of “const” last in a C++ method declaration?
    为什么不要使用"using namespace XXX"
    android.os.Handler
    Windows下Anaconda的安装和简单使用
    matlab GPU 操作
    matlab 在柱状图上 显示数字
    How to fix apt-get GPG error NO_PUBKEY Ubuntu 14
  • 原文地址:https://www.cnblogs.com/yuyixingkong/p/3737782.html
Copyright © 2011-2022 走看看