zoukankan      html  css  js  c++  java
  • 连续数的和

    题目:

    时间限制 : 1 Sec
    内存限制 : 128 Mb
    提交 : 317
    解决 : 99

    题目描述

    给出两个整数n和k,(2≤n≤70000,1≤k≤n),求出1,2,3,…,n中连续k个数的和,并计算出和为平方数的个数。

    例如n=10,k=3。在1,2,…,10中,连续3个数的和有

    1+2+3=6

    2+3+4=9

    3+4+5=12

    4+5+6=15

    5+6+7=18

    6+7+8=21

    7+8+9=24

    8+9+10=27

    其中和为平方数的仅有9,因为9=3×3。

    输入

    n,k两个整数。

    输出

    一个整数,即1,2,…,n中连续k个数的和为平方数的个数。

    样例输入 

    10 3

    样例输出 

    1
     
    方法:
    1、每个数都可以表示为a+1 a+2 a+3……(每个测试点的1都为1+2+3……)
    2、每次+k,就是在每个数底下+1.
    3、判断+k后的值,如果是平方数就计数器+1.
     
    标程:
    #include<bits/stdc++.h>
    using namespace std;
    int n,k,ans,z;
    int main()
    {
        cin>>n>>k;
        for (int i=1;i<=k;i++)z+=i;
        for (int i=1;i<=n-k;i++)
        {
            z+=k;
            if (floor(sqrt(z))==sqrt(z))ans+=1;
        }
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    文本查询程序再探
    第15章 面向对象程序设计
    错误和异常处理 使用模板
    PHP会话管理
    身份验证
    表单提交与接收 文件提交与接收
    PHP文件访问
    PHP面向对象
    PHP速学
    第14章 重载运算与类型转换
  • 原文地址:https://www.cnblogs.com/leonqqs/p/7083311.html
Copyright © 2011-2022 走看看