点此看题面

大致题意: 设\(f(x)=\sum[(a*b)|x]\),求\(\sum_{x=1}^nf(x)\)。

转化题意

将题意进行转换,我们就可以发现,我们要求的\(ans\)就是满足\(x*y*z\le n\)的解的个数(这应该还是比较显然的)。

大致思路

此题无非就是一个分类讨论

假设\(a\le b\le c\)。

  • 当三个数全部相等时,求出的解只有一种排列方式。
  • 当三个数中有两个数相等时,求出的解有三种排列方式。
  • 当三个数互不相等时,求出的解共有六种排列方式。

按照这种思路,就能很快速地求出答案了。

注意排除重复的情况。

代码

#include<bits/stdc++.h>
#define LL long long
using namespace std;
LL n;
class Class_MathSolver
{
public:
inline void Solve(LL x)
{
register LL i,j,k,ans=0;
for(i=1;i*i*i<=x;++i) ++ans;//对于三数相等的情况,虽然这样慢,但能避免精度误差
for(i=1;i*i<=x;++i) if((j=x/(i*i))>=i) ans+=3*(j-1);else ans+=3*j;//对于两数相等的情况,注意不能把三数相等的情况包括在内
for(i=1;i*i*i<=x;++i) for(j=i+1;j<=x;++j) if((k=x/(i*j))>=j) ans+=6*(k-j);else break;//对于三数互不相等的情况,同样注意排除重复的情况
printf("%lld\n",ans);
}
}MathSolver;
int main()
{
register int T=0;
while(~scanf("%lld",&n)) printf("Case %d: ",++T),MathSolver.Solve(n);
return 0;
}

【HDU4473】Exam(数学题)的更多相关文章

  1. Linux学习之Exam系统发布

    配置时间:2015年11月27日 配置人:撰写人:微冷的雨   Happy 01.Linux安装图 欢迎页面 桌面 02.Linux命令之文件目录操作 给北大青鸟五道口校区创建三个机房(L4,L5,L ...

  2. ytu 2558: 游起来吧!超妹!(水题,趣味数学题)

    2558: 游起来吧!超妹! Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 7  Solved: 3[Submit][Status][Web Board ...

  3. sdut 2416:Fruit Ninja II(第三届山东省省赛原题,数学题)

    Fruit Ninja II Time Limit: 5000MS Memory limit: 65536K 题目描述 Have you ever played a popular game name ...

  4. python解无忧公主数学题107.py

    python解无忧公主数学题107.py """ python解无忧公主数学题107.py http://mp.weixin.qq.com/s?__biz=MzI5ODE ...

  5. python解无忧公主数学题108

    """ python解无忧公主数学题108回文.py 题目来源: http://mp.weixin.qq.com/s?__biz=MzI5ODEwMDQyNw==& ...

  6. HDU 圆桌会议 - 数学题

    圆桌   题意就是每分钟可以将相邻的两个人的位置互换一下 , 问你 ,几分钟可以将所有人的位置互换成    原先的  B 在A的右边 C在A的左边 , 换成现在的 C 在A 的右边 , B 在 A 的 ...

  7. CF534A Exam 构造

    An exam for n students will take place in a long and narrow room, so the students will sit in a line ...

  8. HDU 2529 Shot (物理数学题)

    题目 解题过程: //物理数学题 #include<stdio.h> #include<string.h> #include<algorithm> using na ...

  9. HDU 2671 Can't be easier(数学题,点关于直线对称)

    题目 //数学题//直线 y = k * x + b//直线 ax+by+c=0; 点 (x0,y0); 点到直线距离 d = (ax0+by0+c)/sqrt(a^2+b^2) /********* ...

随机推荐

  1. static及静态方法

    一.static 1.方法声明中用关键字static修饰的均为类方法或者静态方法,不用static修饰的方法称为实例方法: 2.实例方法可以调用该类中的实例方法或者类方法,类方法只能调用该类的类方法或 ...

  2. Servlet方法之service()

    1.service一定要用吗?作用是什么?是不是在程序开始运行时,自动装载执行的系统方法(类似于main)? Service是类GenericServlet中最重要的方法,每次客户向服务器发出请求时, ...

  3. go语言web开发框架_Iris框架讲解(五)MVC包使用

    在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. MVC即:model ...

  4. WPF动画——故事板(Storyboard)

    1.XAML代码 <Window x:Class="故事板.MainWindow" x:Name="window" xmlns="http:// ...

  5. 最小生成树(prim和kruskal)

    最小生成树(prim和kruskal) 最小生成树的最优子结构性质 设一个最小生成树是T.如果选出一个T中的一条边,分裂成的两个树T1,T2依然是它们的点集组成的最小生成树.这可以用反证法来证.反着来 ...

  6. c语言指针,数组

    指针:说简单点就是一个地址.例如int *p,p是个变量,里面放的是地址0x0000,同理,每一个指针,不管什么类型,都是地址,也就是空间都是4个字节(32位机). 以此类推,指针也有指向它的指针in ...

  7. Spring动态切换数据源

    11 //定义数据源枚举public enum DataSourceKey { master, slave, } 22 /** * 数据源路由 */ @Slf4j public class Dynam ...

  8. Draw a Mess (并查集)

    It's graduated season, every students should leave something on the wall, so....they draw a lot of g ...

  9. 74th LeetCode Weekly Contest Valid Number of Matching Subsequences

    Given string S and a dictionary of words words, find the number of words[i] that is a subsequence of ...

  10. 我在B站学习 Javascript入门教程 基础

    B站av9243452的一系列视频,适合学过其他编程语言的人观看,还挺不错的 共43节,该随笔为1~16节 Js介绍 如需使用外部文件,请在 <script> 标签的 "src& ...