题目:给你一个数字问将他写成连续的数字的和的形式。有几种写法。

分析:数论。

设拆成的序列个数为k,我们分两种情况讨论:

1.拆成奇数个连续数。那么设中位数是a,则有n = k * a;

2.拆成偶数个连续数,那么设中位数是a与a+1,则有n = k / 2 *(a+a+1)。

综上所述,本问题就是将n拆成2个数的乘积的形式,且当中一个一定为奇数;

问题转化成求解n中奇数因子的个数。这里求出全部的奇素因子计算组合数就可以。

说明:实际的数据规模没有题面上那么大╮(╯▽╰)╭。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>using namespace std;int visit[3000010];
int prime[300010];
int sizes[30010];int main()
{//筛法计算素数   memset(visit, 0, sizeof(visit));  int count = 0;  for (int i = 2 ; i < 3000001 ; ++ i) {  if (!visit[i]) prime[count ++] = i;for (int j = 0 ; j < count && i*prime[j] < 3000001 ; ++ j) {visit[i*prime[j]] = 1;if (i%prime[j] == 0) break;}} long long n;while (cin >> n) {while (n > 0LL && n%2LL == 0LL) n /= 2LL;int number = 0;for (int i = 1 ; i < count && n > 1LL ; ++ i) {if (n < prime[i]*prime[i]) break;if (n%prime[i] == 0LL) {sizes[++ number] = 0;while (n%prime[i] == 0LL) {n /= prime[i];sizes[number] ++;}}}if (n > 1LL) sizes[++ number] = 1;long long ans = 1LL;for (int i = 1 ; i <= number ; ++ i)ans = ans*(sizes[i]+1LL);cout << ans << endl;}return 0;
}

UVa 10290 - {Sum+=i++} to Reach N相关推荐

  1. UVA 1210 Sum of Consecutive Prime Numbers

    https://vjudge.net/problem/UVA-1210 统计质数前缀和,枚举左右端点,这一段的区间和+1 #include<cstdio> #define N 10001 ...

  2. UVA 10891 SUM游戏 DP

    刚看到这个题目不知道怎么个DP法,有点难想到 解法如下 设置dp[i][j]代表i到j这段子序列能获得的最大值,这样,枚举m=min(m,dp[i+1到j][j],dp[i][i到j-1]),m就代表 ...

  3. 《题目与解读》红书 训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》

    虽然2012年出版的老书了,但是是由三次世界冠军的上海交大ACM队出版的书籍,选择的题目是ACM经典中的经典,书中有非常详细的题解,可以学到很多东西,值得一刷. 目录 第一部分 第一章 数学 1.1 ...

  4. Storm概念学习系列之storm-starter项目(完整版)(博主推荐)

    这是书籍<从零开始学Storm>赵必厦 2014年出版的配套代码! storm-starter项目包含使用storm的各种各样的例子.项目托管在GitHub上面,其网址为: http:// ...

  5. bellman ford 算法 判断是否存在负环

    Flyer 目录视图 摘要视图 订阅 微信小程序实战项目--点餐系统        程序员11月书讯,评论得书啦        Get IT技能知识库,50个领域一键直达 关闭 bellman for ...

  6. 【Codeforces 1426 D】Non-zero Segments,贪心,前缀和,数组子段统计

    problem D. Non-zero Segments time limit per test2 seconds memory limit per test256 megabytes inputst ...

  7. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  8. 计算机网络三元组,三元组

    三元组是指形如((x,y),z)的集合(这就是说,三元组是这样的偶,其第一个射影亦是一个偶),常简记为(x,y,z). 三元组是计算机专业的一门公共基础课程--数据结构里的概念.主要是用来存储稀疏矩阵 ...

  9. 28行代码AC——Minimum Sum LCM UVA - 10791(最大质因子)

    励志用尽量少的代码做高效表达 题目(提交)链接-->UVA - 10791 题意 输入正整数n,找至少两个数,使得他们的最小公倍数(Least Common Multiple)为n且要输出最小的 ...

最新文章

  1. 在 Swift 中调用 OC 代码
  2. 【大学课程】计算机组成原理知识点
  3. Vue项目中遇到了大文件分片上传的问题
  4. linux运行中望cad,国产CAD软件中望的Linux版适配UOS, 我在国产系统里试了试
  5. 引擎优化的facebook中文网
  6. Jquery跨域请求php数据(jsonp)
  7. java实验报告的原理_JAVA实验报告
  8. DeepSort轨迹跟踪方法
  9. 征集开始!2022年湖北省人工智能 大数据十大优秀应用案例征集申报时间要求及征集范围、注意事项
  10. FBI教你破解身体语言
  11. iphone如何刷android系统升级,iphone4s如何刷成android系统?
  12. 英伟达账号为什么登录不了_n卡的geforce experience登录不了怎么办?
  13. (python)爬虫----八个项目带你进入爬虫的世界
  14. linux下自动删除文件夹,如何在Linux中自动删除或清理/tmp文件夹内容?
  15. GEF原理及实现系列(二、模型)
  16. css3动画数字变化,css3动画的更深层次的探究(矩阵变换)
  17. css中zoom的用法
  18. uni-app使用canvas将两张图片合成一张图片
  19. 凯云水利水电工程造价管理系统 技术解析(四)取费管理(一)
  20. Unknown column 'xxxx' in 'field list'

热门文章

  1. Nilearn中的Matplotlib颜色图
  2. JStorm与Storm源码分析(八)--计时器工具-mk-timer
  3. 开源代码维护人员大诉苦水,超半正考虑或已经决定放弃
  4. 延长端粒续命有风险,科学家警告:端粒过长反而容易患癌
  5. 国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...
  6. python数据挖掘试题四十道,你敢来挑战吗?
  7. [译][Tkinter 教程10] Text 控件
  8. 禁用微信 webview 调整字体大小
  9. 工具类:关于如何找到两个List数组中不同的数据的算法!
  10. 并查集hdu1232