zoukankan      html  css  js  c++  java
  • 【洛谷 1348】Couple number

    题目描述

    任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number。你的工作就是判断一个数N是不是Couple number。

    输入输出格式

    输入格式:
    仅一行,两个长整型范围内的整数n1和n2,之间用1个空格隔开。

    输出格式:
    输出在n1到n2范围内有多少个Couple number。

    注意:包括n1和n2两个数,且n1<n2,n2 - n1 <= 10 000 000。

    输入输出样例

    输入样例#1: 复制
    1 10
    输出样例#1: 复制
    7


    解析:本题若是暴力枚举,时间一定会爆,so我们想到了数论√
    (1)a^2-b^2=(a+b)(a-b)=>a+b与a-b奇偶性相同
    (2)所以(a+b)(a-b)要么是奇数,要么是4的倍数
    (3)couple number要么是奇数,要么是4的倍数
    如何证明:
    AB均奇,A+B为偶,A-B也为偶,奇偶性相同
    AB均偶,A+B偶,A-B也为偶,奇偶性相同
    A奇B偶,A+B奇,A-B也为奇,奇偶性相同
    A偶B奇,A+B为奇,A-B也为奇,奇偶性相同
    【好累啊嘤嘤嘤~~~~~,代码很短,思路很巧】

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    typedef long long ll;
    using namespace std;
    int n1,n2,ans=0;
    int main(){
        cin>>n1>>n2;
        for(int i=n1;i<=n2;i++)
            if(i%4==0||i%2!=0)ans++; 
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    brew基本使用
    手写函数
    http状态码——401和403差异
    HTTP状态码
    本地库和远程库交互
    IDEA集成Git
    Git命令
    数据库递归查询组织树父节点
    ZooKeeper程序员指南
    zookeeper简介
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/11149985.html
Copyright © 2011-2022 走看看