zoukankan      html  css  js  c++  java
  • hdu 4279(规律题)

    题意:容易理解.

    分析:做了这道题,我的收获就是碰到一些数学题可以找规律,这种题用常规方法是无法解决的,所以只能找规律。

    代码实现:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    int main()
    {
        int T;
        __int64 m,n;
        __int64 sum1,sum2;
        scanf( "%d", &T );
        while( T -- )
        {
            scanf( "%I64d%I64d", &m, &n );
            sum1 = ( m-1 - 4 ) / 2;
            sum2 = ( n - 4 ) / 2;
            if( (__int64)sqrt( m-1 ) % 2 == 1 )
                sum1 ++;
            if( (__int64)sqrt( n ) % 2 == 1 )
                sum2 ++;
            if( m-1 < 6 )
                sum1 = 0;
            if( n < 6 )
                sum2 = 0;
            printf( "%I64d\n", sum2-sum1 );
        }
        return 0;
    }

    注:后来才知道,当n>2的时候,n的欧拉函数永远是一个偶数。而且当n为平方数,其约数个数为奇数;
    n为非平方数,其约数个数为偶数。而 f(x) = x - 约数个数 - 互质数个数 +1 。根据这个可以很快就推出来了。

  • 相关阅读:
    [栈]
    [数据结构实验]学生成绩管理
    [数据结构实验]集合交并
    shapefile 转 geojson 文件类型
    ubuntu sublime text key
    opengl
    c++
    sublime text3 key
    ubuntu安装nvidia驱动
    全球国家svg边界svg
  • 原文地址:https://www.cnblogs.com/jiangjing/p/3116085.html
Copyright © 2011-2022 走看看