题目大意:对下列代码进行优化

long long H( int n ) {
    long long res = 0;
    for( int i = 1; i <= n; i++ )
        res = res + n / i;
    return res;
}

题目思路:为了避免超时,要想办法进行优化

以9为例:

9/1 = 9

9/2 = 4

9/3 = 3

9/4 = 2

9/5 = 1

9/6 = 1

9/7 = 1

9/8 = 1

9/9 = 1

拿1来看,同为1的区间长度为:9/(9/5)+1-5,

得出通式:值相同的区间长度为:n/(n/i)+1-i。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#define INF 0x3f3f3f3f
#define MAXSIZE 1000005
#define LL long longusing namespace std;int main()
{int T,cns=1;LL n;scanf("%d",&T);while(T--){scanf("%lld",&n);LL i=1;LL ans=0;while(i<=n){ans=ans+(n/(n/i)-i+1)*(n/i);i=n/(n/i)+1;}printf("Case %d: %lld\n",cns++,ans);}return 0;
}

View Code

转载于:https://www.cnblogs.com/alan-W/p/6426266.html

LightOJ - 1245 Harmonic Number (II) 求同值区间的和相关推荐

  1. LightOJ 1245 - Harmonic Number (II)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1245 题意:仿照上面那题他想求这么个公式的数.但是递归太慢啦.让你找公式咯. ...

  2. light oj -1245 - Harmonic Number (II)

    先举个例子,假如给你的数是100的话,将100/2=50;是不是就是100除100-51之间的数取整为1: 100/3=33;100除50到34之间的数为2,那么这样下去到sqrt(100);就可以求 ...

  3. LightOJ1245 Harmonic Number (II) —— 规律

    题目链接:https://vjudge.net/problem/LightOJ-1245 1245 - Harmonic Number (II)     PDF (English) Statistic ...

  4. Harmonic Number (II) LightOJ - 1245(找规律?大数f(n)=n/1+n/2+n/3+......+n/n)

    题意:让我们求f(n)=n/1+n/2+n/3+......+n/n:同时注意n/i取整: 思路:首先我们先看数据的范围,n (1 ≤ n < 2 31),数据范围太大,如果我们按 照题目中的代 ...

  5. Harmonic Number (II) LightOJ - 1245 (找规律?。。。)

    题意: 求前n项的n/i  的和 只取整数部分 暴力肯定超时...然后 ...现在的人真聪明...我真蠢 觉得还是别人的题意比较清晰 比如n=100的话,i=4时n/i等于25,i=5时n/i等于20 ...

  6. LightOJ 1234 Harmonic Number(调和级数+欧拉常数)

    题目链接:https://cn.vjudge.net/contest/318269#problem/F Sample Input 12 1 2 3 4 5 6 7 8 9 90000000 99999 ...

  7. Harmonic Number(欧拉公式或技巧打表)LightOJ - 1234(求调和级数的和)

    题意:求f(n)=1/1+1/2+1/3+1/4-1/n (1 ≤ n ≤ 108).,精确到10-8 (原题在文末) 知识点:调和级数(即f(n))至今没有一个完全正确的公式,但欧拉给出过一个近似公 ...

  8. Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))

    Harmonic Number LightOJ - 1234 题意: 给你一个调和级数. f(n)=1+12+13+14+15+...+1nf(n)=1+\frac{1}{2}+\frac{1}{3} ...

  9. leetcode 264. Ugly Number II

    传送门 264. Ugly Number II QuestionEditorial Solution My Submissions Total Accepted: 36259 Total Submis ...

最新文章

  1. 计算机软件硬件试讲,试讲:初识计算机网络
  2. C语言不使用结构体实现链表,不用指针链表和结构体数组怎么编学生成绩管理系统啊...
  3. maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...
  4. selenium search
  5. ESD二极管,替代国际品牌型号汇总
  6. Binary Tree Non-recursive Traversal
  7. c语言中合法转义字符,判断c语言合法转义字符
  8. 阿里云专访Redisson作者Rui Gu:构建开源企业级Redis客户端之路
  9. [导入]C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式.zip(8.04 MB)...
  10. springboot之全局处理异常封装
  11. 水晶报表10 开发和部署
  12. VScode 安装与简单配置(转载)
  13. java Sting类函数
  14. 光纤传输与网络技术习题整理
  15. Mini USB针脚定义
  16. 图片放大不清晰怎么办?
  17. 黑苹果系统的优化与问题解决(一)
  18. iOS 微信8.0.11更新,新功能,新变化
  19. 调音台、声卡、视频采集卡技术参数
  20. 华为路由器显示无法连接网络连接到服务器,华为路由器可以搜到WiFi信号但无法连接怎么办?...

热门文章

  1. 1-2docker-基本的使用
  2. Mac 下nginx 环境的配置
  3. 仔细学习CSS(一)
  4. C# 格式化字符串 String.Format
  5. 管理信息系统数据库设计标准(草稿)
  6. python def函数_Python教程之Lambda表达式知识概述
  7. 爬虫,关于 video 标签 src 带有blob:http的 一些想法
  8. dubbo源码解析(二)
  9. vue使用axios并存数据到state
  10. Android 闹钟,实现demo