zoukankan      html  css  js  c++  java
  • bzoj 1406 数论

      首先问题的意思就是在找出n以内的所有x^2%n=1的数,那么我们可以得到(x+1)(x-1)=y*n,那么我们知道n|(x+1)(x-1),我们设n=a*b,那么我们对于任意的a,我们满足n%a==0,我们可以求出b,我们可以使x+1|a,x-1|b,然后我们可以构造所有满足被b整除的数,然后判断是否能被a整除, 然后再枚举x+1|b,x-1|a的情况,假设一组合法解不能拆开后被a,b分别整除,那么对于另外的a,b我们肯定可以再次枚举出这个解,然后对于相同的解用set去下重就可以了。

      反思:手残打错了符号= =。

      

    /**************************************************************
        Problem: 1406
        User: BLADEVIL
        Language: C++
        Result: Accepted
        Time:0 ms
        Memory:808 kb
    ****************************************************************/
     
    //By BLADEVIL
    #include <cstdio>
    #include <set>
     
    using namespace std;
     
    int n;
     
    int main()
    {
        set<int>tree;
        scanf("%d",&n);
        for (int a=1;a*a<=n;a++)
            if (!(n%a)) {
                int b=n/a;
                for (int i=1;i<=n;i+=b) if (!((i+1)%a)) tree.insert(i);
                for (int i=b-1;i<=n;i+=b) if (!((i-1)%a)) tree.insert(i);
            }
        set<int>::iterator p;
        if (!tree.size()) 
            printf("None
    "); else
            for (p=tree.begin();p!=tree.end();p++)
                printf("%d
    ",*p);
        return 0;
    }
  • 相关阅读:
    Spring整合Junit测试
    使用GDAL工具对卫星数据进行影像配准
    Java排序算法&nbsp;插入排序
    使用GDAL下载并转换SRTM的DEM数据(二)
    网站备案流程
    Java排序算法_选择排序
    Java排序算法&nbsp;归并排序
    双十一:是消费力的提升,还是消费结构缺陷的暴露?
    Java排序算法&nbsp;希尔排序
    Java排序算法&nbsp;堆排序
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3638000.html
Copyright © 2011-2022 走看看