51nod1837
Posted 宣毅鸣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod1837相关的知识,希望对你有一定的参考价值。
题解:
数论,经过一些大佬的证明,只有1和2这两种可能性
然后再分开来判断即可
注意1的时候为0
代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,t,k,kk; int main() { while(~scanf("%lld",&n)) { if(n==1){puts("0");continue;} k=sqrt(2*n-1); t=n*(n+1)/2;kk=sqrt(t); if(k*(k+1)/2==n||k*(k+1)/2+1==n|| t==kk*kk||t==kk*kk+1)puts("1"); else puts("2"); } return 0; }
以上是关于51nod1837的主要内容,如果未能解决你的问题,请参考以下文章