标签:
今天做了一道简单的数学题算法
ac代码 :
#include <stdio.h> #include <math.h> // int main() { int N,M,i,j; while(scanf("%d%d",&N,&M) && M+N) { for(j=pow(2.0*M,0.5);j>=1;j--) //区间长度最短为1;j*j<2m,所以,j从sprt(2*m)开始 { i=(2*M/j-j+1)/2;//i所求区间表示起始值,j表示区间长度 if(j*(j+2*i-1)/2==M) printf("[%d,%d]\n",i,i+j-1);//由分析可得 } printf("\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/41412179guo/p/4464394.html