HDU4342 History repeat itself数学规律题

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4342

题意:

就是要求第a个非平方数是什么

分析:

假设第a个非平方数是x,x前面有n个平方数,则n*n<x<(n+1)*(n+1);

n*n前面的非平方数的个数是n*n-n;

首先先根据a求n,n是满足不等式  n*n-n<a的最大正整数。

不等式的解是:

(1+sqrt(1+4*a))/2;必需对这个数上取整,然后减一就是n了。

然后第a个非平方数就是  n*n+(a-n*n+n)=a+n

之后就是求另一个式子的值了,首先求1~n*n-1求和:

(2*n-1)*(n-1)对它从2到n求和得到:n*(n+1)*(2*n+1)/3-3*n*(n-1)/2+n;

之后加上  (n+a-n*n+1)*n;

代码如下:

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
#define LL long long
int t;
LL n,idx,ans;
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%lld",&n);
        idx=(LL)ceil((1+sqrt(1+4.0*n))/2)-1+n;
        LL k=idx-n;
        LL sum=k*idx;
        LL tmp=(1+k)*k*(2*k+1)/6-k;
        ans=sum-tmp;
        cout<<idx<<" "<<ans<<endl;
    }
    return 0;
}



时间: 2024-08-25 12:42:55

HDU4342 History repeat itself数学规律题的相关文章

【算法学习笔记】73.数学规律题 SJTU OJ 1058 小M的机器人

Description 小M有很多个机器人,他们要么一直说真话,要么一直说假话. 然后每个人都说: (1). 不到N个人比我工作得多 (2). 至少M个人的工资比我高. 保证没有两个人的工作一样重,也没有两个人的工资一样高,问至少有多少机器人? Input Format 一行两个数整数N, M (  1≤N,M < 2^31) Output Format 一个整数K表示至少有K个人 Hint 想不出来的同学... 不要想得太复杂了... Sample Input 2 2 Sample Outpu

1005:Number Sequence(hdu,数学规律题)

Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). Input The input consists of multiple test cases. Each test case co

codeforces round#524 D - Olya and magical square /// 大概算是数学规律题?

题目大意: t 个测试用例  (1≤t≤103) 给定n k  (1≤n≤10^9,1≤k≤10^18) 表示有一个边长为2^n的正方形格子 每次操作只能将一个格子切割为左上左下右上右下的四等分格子 问进行k次四等分切割后 能否使得 左下角的格子的边长 和 右上角的格子的边长 相等 并且存在一条左下角格子到右上角格子的路径上 经过的格子的边长 也和它们相等 若可以输出 "YES 切割后的log2(边长)" 若操作次数用不完输出"NO" 首先 对边长为2^1的格子四等

HDU 4342——History repeat itself——————【数学规律】

History repeat itself Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 434264-bit integer IO format: %I64d      Java class name: Main Prev Submit Status Statistics Discuss Next Type: None None Graph Theory 2-S

HDU 1005 Number Sequence (数学规律)

Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 104190    Accepted Submission(s): 25232 Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A

2018高考数学真题权威专家评析+2019备考方向解读

2018高考数学真题汇总!权威专家评析+2019备考方向解读 "试卷稳中求新,在保持结构总体稳定基础上,科学灵活地确定试题内容,强调数学应用,突出关键能力."教育部考试中心命题专家认为,2018年高考数学卷一个突出的特点是,根据文理科考生数学素养综合要求,调整文理科同题比例,为新一轮高考数学不分文理科的改革进行了积极探索. 探索内容改革,助推素质教育 教育部考试中心命题专家介绍,根据文理科考生数学素养的综合要求,调整全国Ⅱ卷.全国Ⅲ卷文理科同题比例,为新一轮高考数学不分文理科改革进行了

数学趣味题(相邻同加同减问题)

想要弥补数学方面的知识于是我看了刘汝佳老师的算法艺术. 从简单开始在这里记录一下. 题目的描述 很容易理解但是让我想的话,我会感觉很困难. 似乎见到多了,对这种问题有一种天生的恐惧. 但是学习嘛,一点一点积累. 刘汝佳老师这样讲到. 先把8个点归为红色和蓝色两类. 相邻的点不在同一类中. 假设我们先看一下最下面的ABCD四个点,假设A点有a个麻烦子,B点有b个麻烦子,C点有c个,D点有d个. 我们先让A,B同时增加c个,然后让B,C同时减少c个,这样就C就没有了,而A中多了c个.这样我们就能把同

[C++]LeetCode: 114 Permutation Sequence(返回第k个阶乘序列——寻找数学规律)

题目: The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order, We get the following sequence (ie, for n = 3): "123" "132" "213" "231" "312" &q

ZOJ 3798 Abs Problem(规律题)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3798 Abs Problem Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Alice and Bob is playing a game, and this time the game is all about the absolute value! Alice has