参考:https://blog.csdn.net/yzl_rex/article/details/7875065
https://blog.csdn.net/oranges_c/article/details/53396646
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 int in; 6 int ans(int x) 7 { 8 int a=0; 9 for (int i=1;i<=x/2+1;i++) 10 { 11 int sum=0; 12 for (int j=i;j<=x/2+1;j++) 13 { 14 sum+=j; 15 if (sum==x) 16 { 17 a++; 18 break; 19 } 20 if (sum>x)//注意剪枝! 21 { 22 break; 23 } 24 } 25 } 26 return a; 27 } 28 int main()//能简易模拟时优先用模拟,不要轻易用自己推导的定理! 29 { 30 while (cin>>in) 31 { 32 cout<<ans(in)+1<<endl; 33 } 34 35 return 0; 36 }