Gym
来源:互联网 发布:吐槽王pi知乎 编辑:程序博客网 时间:2024/05/03 23:01
题目链接:点击打开链接
题目思路:根据等差数列的求和公式,枚举N,找到最小的a1即可
AC代码:
/*2017年8月27日12:11:49[Gym-100543C]利用等差数列求和公式 枚举即可 AC */ #include <iostream>#include <map>#include <set>#include <string>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <queue>#include <vector> using namespace std;typedef long long ll;const ll maxn=1e5;void solve(ll sum){ll a1,num;bool f=true;if((sum&(sum-1))==0){printf("IMPOSSIBLE\n");}else{for(ll i=2;i<=sum;i++){//if(i&1) tmp= /*利用等差数列的性质枚举n,找到第一个成立的a1为止*/ ll tmp=(i*(i-1)/2);if((sum-tmp)%i==0){a1=(sum-tmp)/i;num=i;f=false;break;}}if(a1<1||f) printf("IMPOSSIBLE\n");else{printf("%I64d = %I64d",sum,a1);for(ll i=1;i<num;i++){if(i!=(num-1))printf(" + %I64d",a1+i);elseprintf(" + %I64d\n",a1+i);} }}}int main(){int t;scanf("%d",&t);while(t--){ll n;scanf("%I64d",&n);solve(n);} return 0;}
阅读全文
0 0
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- 由浅入深之Tensorflow(3)----数据读取之TFRecords
- 分割字符串(有一个字符串,其中包含中文字符、英文字符和数字字符, * 请统计和打印出各个字符的个数)
- vim 常用命令
- JAVA之Collection 集合容器框架(LinkedList,ArrayList,Map等解析)
- In Touch HDU
- Gym
- Vmware 网络模式Bridge, NAT, Host-only 以及设置host通过127.0.0.1访问vm web server
- HDU 1114 Piggy-Bank(完全背包)
- 如何向你的弱智室友解释区块链
- python3爬虫简单小实例1.0
- 为什么mysql设置了密码之后,本地还可以直接访问,不需要输入密码就可以登录数据库了?
- 机器学习,深度学习的资料和工具库大全
- SpringMVC拦截静态资源的解决方案
- 复习RAII(智能指针)