hdu 2715 Herd Sums

来源:互联网 发布:linux恢复删除文件命令 编辑:程序博客网 时间:2024/05/16 07:48

简单数学题目,输入n,用sum计数,若存在2个正整数x,y使(x+y)*(y-x+1)=2*n,则sum++;因此我们就把2*n分解成2个数m,n的乘积,若(m+n-1)/2为正整数,则满足题意

#include<iostream>#include<cmath>using namespace std;int main(){int n;while(cin>>n){int i,sum=0;for(i=1;i<=sqrt(2*n);i++){if(i*(2*n/i)==2*n){if((i+2*n/i-1)%2==0){sum++;}}}cout<<sum<<endl;}return 0;}


 

0 0
原创粉丝点击