2058(等差求和)
HDU 2058 The sum problem
等差求和公式:
Sn=(a1+aN)*n/2
=(a1+a1+d(n-1))*n/2
=a1*n+d(n-1)*n/2;
因为此处公差d=1,所以Sn=a1*n+(n-1)*n/2,当从第一项开始算起时(因本题首项为1,即a1=1时),Sn=M时的项的个数n最多;
a1=1,现在又可化简为Sn=n+(n-1)*n/2=(n+1)n/2;
由题意得M=Sn,N为项的个数,则N<=n(max)=sqrt(Sn*2)=sqrt(M*2);
因此原式M=Sn =a1*n+(n-1)n/2=a1*N+(N-1)N/2,可得a1*N=M-(N-1)N/2;
数据都已经全了,现在只要遍历n(max)以内项数中,Sn=M的个数即可。
那么如何判断Sn=M呢?也就是判断a1*N=Sn-(N-1)N/2;得到的a1*N这个数能否被N整除,因为整除的话,说明首项存在于序列
- #include<stdio.h>
- #include<math.h>
- int main(){
- int N,M;
- while(scanf("%d%d",&N,&M),N||M){
- int len = (int)sqrt(M*2.0);
- int a1_len=0;//首项a1与len的乘积
- for (;len>0;len--){
- a1_len=M-(len-1)*len/2;//a1*N=M-(N+1)N/2;
- if(a1_len%len==0){
- printf("[%d,%d]\n",a1_len/len,a1_len/len+len-1);
- }
- }
- puts("");
- }
- return 0;
- }
2058(等差求和)相关推荐
- 了解递归算法,等差求和,阶乘
以最经典的等差求和为例吧,求和1+2+3+4+5+6+.... def sum_numbers(num):# 1.如果是1,直接返回1 -- 出口if num == 1:return 1# 2.如果不 ...
- 序列求和 直接print(sum(range(n+1)))最后会有一两个例子超时,可以选用等差求和
资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 求1+2+3+-+n的值. 输入格式 输入包括一个整数n. 输出 ...
- Educational Codeforces Round 47 (Rated for Div. 2) :C. Annoying Present(等差求和)
题目链接:http://codeforces.com/contest/1009/problem/C 解题心得: 题意就是一个初始全为0长度为n的数列,m此操作,每次给你两个数x.d,你需要在数列中选一 ...
- python的基础算法实现(等差求和,阶乘)
这里记录的代码均为核心,不带交互,有些不考虑无效输入 力求最省资源,用最快捷的实现方式 等差数列求和 #等差数列求和 n*(a1+an)/2 x1 = 1 d = 3 n = 100 x100 = x ...
- [M数学] lc1759. 统计同构子字符串的数目(数学+等差求和)
文章目录 1. 题目来源 2. 题目解析 1. 题目来源 链接:1759. 统计同构子字符串的数目 2. 题目解析 分析题目,连续字符串对答案的贡献实际上是 等差数列求和 即可,采用双指针求出连续字符 ...
- HDU 4407 Sum(容斥+等差求和)
题目大意:给n个数,1-n.然后有m次操作,分别是求(x,y)中与p互质的和:将第x个数替换成c. 思路:一开始觉得区间操作往线段树上想,但是要存的东西太多,没有办法实现. 后面其实仔细一想跟前面几道 ...
- 密码*** ,continue,等差求和
import getpass# user = input("username:")# password = getpass.getpass(prompt="passwor ...
- hdu 1597 find the nth digit(等差求和+二分)
find the nth digit Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 等差求和-公式+大数long long(蓝桥)
问题描述 求1+2+3+...+n的值. 输入格式 输入包括一个整数n. 输出格式 输出一行,包括一个整数,表示1+2+3+...+n的值. 样例输入 4 样例输出 10 样例输入 100 说明:有一 ...
最新文章
- python视频教程从入门到精通全集-python从入门到精通视频(全60集)免费高速下载...
- HtmlAgilityPack 之 HtmlNode类
- 【转】3.3SharePoint服务器端对象模型 之 访问文件和文件夹(Part 3)
- Storm精华问答 | storm与Hadoop有什么区别?
- 笨方法“学习python笔记之print换行
- 转走出MFC窗口子类化迷宫
- 基于深度学习的人脸识别系统系列(Caffe+OpenCV+Dlib)——【六】设计人脸识别的识别类...
- Luogu1904 天际线
- python学习笔记之读取pdf文件库pdfminer(二)
- linux 开机密码忘了,linux系统开机忘记密码
- xampp使用教程方法免费分享
- 计算机硬盘应该什么格式化,硬盘应该格式化成哪种格式为好?
- 2021年北京邮电大学计算机12组(原网研二组)夏令营面试经历
- 使用 TiUP 部署 DM 集群
- 如果用户没上传头像,则为其设置默认用户头像
- webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index
- 使用原生js写一个简单的注册登录页面
- 霸屏三大综艺 小度强势破圈引发“胜利者效应”
- firefly-rk3288j开发板 eDP实验之NV101WXM-N51显示屏驱动
- java-极光短信以及通知回调整合
热门文章
- USB总线-Linux内核USB3.0设备控制器复合设备之USB gadget configfs分析(七)
- 如何完成一张机房3d效果图
- 说说308,华泰股份
- La Salle-Pui Ching Programming Challenge 培正喇沙編程挑戰賽 2016 A~F
- 高性能计算平台基本知识
- 测试员在面试中被问到 “你对加班的看法” 该如何回答?
- 英雄联盟补刀精灵LOL Last Hit最新破解版下载
- android banner广告接入,仅涉及技术
- VirtualBox+Vargant快速使用以及vagrant up下载centos慢解决办法
- 概率统计中的样本矩和顺序统计量