Bailian2807 两倍【序列】

2807:两倍
描述
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。

比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。

输入
一行,给出2到15个两两不同且小于100的正整数。最后用0表示输入结束。
输出
一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
样例输入
1 4 3 2 9 7 18 22 0
样例输出
3
来源
翻译自Mid-Central USA 2003的试题

问题链接Bailian2807 两倍
问题描述:(略)
问题分析
????这个问题与参考链接的题是同一题,只是翻译了一下。解题思路是给出现的数做个标记,然后判定它(需要考虑奇数还是偶数)的一半或2倍的数是否存在,做个计数就可以了。
程序说明:(略)
参考链接POJ1552 HDU1303 UVALive2787 ZOJ1760 Doubles【序列】
题记
????题做多了难免遇到相同的题。

AC的C语言程序如下:

/* POJ1552 HDU1303 UVALive2782 ZOJ1760 Doubles */

#include <stdio.h>
#include <string.h>

#define TRUE 1
#define FALSE 0
#define MAXN 99
int flag[MAXN * 2 + 1];

int main(void)
{
    int a, count;

    while(~scanf("%d", &a) && a != -1) {
        memset(flag, 0, sizeof(flag));

        count = 0;
        while(a) {
            if(flag[a * 2])
                count++;
            if((a & 1) == 0 && flag[a / 2])
                count++;

            flag[a] = TRUE;

            scanf("%d", &a);
        }

        printf("%d\n", count);
    }

    return 0;
}

原文地址:https://www.cnblogs.com/tigerisland45/p/9978646.html

时间: 2024-10-18 06:27:37

Bailian2807 两倍【序列】的相关文章

webapp 1px显示两倍的问题

公司最近换新首页,按照设计师的要求<大家都在逛>的分割线要1个像素. .span-3{ width:33.3333%; &:not(:first-child){ &:before{ content: " "; display: block; width: 1rem/16*1; height: 100%; background-color: rgb(224,224,224);//#e0e0e0; float: left; } } img{ max-width:

【编程题目】有两个序列 a,b,大小都为 n,序列元素的值任意整数,无序;(需要回头仔细研究)

32.(数组.规划)有两个序列 a,b,大小都为 n,序列元素的值任意整数,无序:要求:通过交换 a,b 中的元素,使[序列 a 元素的和]与[序列 b 元素的和]之间的差最小.例如: var a=[100,99,98,1,2,3];var b=[1,2,3,4,5,40]; 首先,目标一定是先找到n个数字,使得数字和比总和的一半小,但是最接近. 思路一:开始看这道题跟之前学的动态规划很像,就想用动态规划来解.但是....做不出来........... 必须要选一半的数字让我头都大了. 思路二:

求解两个序列的所有最长公共子序列(LCSes)

 摘要 本篇博文提供了实现求解所有最长公共子序列的程序实现,并提供输出所有公共子序列的方法解释,需要具备基础知识是求解一个公共子序列的动态规划方法,请自行查阅相关资料. 题目重述 子序列概念:设X=< x1, x2,┅, xm>,若有1≤i1< i2< ┅ <ik≤m,使得Z=< z1, z2,┅, zk> = < xi1, xi2,┅, xik>,则称Z是X的子序列,记为Z<X. 例如: X=<A,B,C,B,D,A,B>, 

(HDU)1303 -- Doubles(两倍)

题目链接:http://vjudge.net/problem/HDU-1303 合适的处理输入,把数据读入数组,对数组升序排序(减少循环次数) 用一个双重循环看每一个数,判断是不是前面出现的数的两倍. #include <cstdio> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <string> #incl

游戏并购再创高峰,第三季度高达122亿美金,是去年总额的两倍

最近,游戏公司并购开创了新纪录.在2014年的前三个季度里,并购额高达122亿美金,Xsolla今天为大家带来伦敦game investment bank Digi-Capital,这个数字是去年总额的两倍多. 今年有5大交易推动了并购热潮,有微软25亿收购Minecraft 制作商 Mojang:Facebook20亿收购了Oculus VR:巨人网络16亿进行私有化:亚马逊9亿7千万收购游戏直播视频网站Twitch:中基控股以9亿6千万购买了FunPlus的资产: 微软-Mojang的交易据

POJ 2807:两倍

AC CODE: 这里有个要注意的地方就是“数对中一个数是另一个数的两倍.”这一句话. 看到了这一句话,可能你就会想到用(n1 / n2 == 2 || n2 / n1 == 2)这样的判断语句来做判断,如果真是这样,那 5 / 2怎么办? 所以,这里我们要做一个小转变,那就是:(n1 * 2 == n2  ||  n2 * 2 == n1) import java.util.Scanner; public class Main { private static int[] getNumbers

1809:两倍

描述 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍. 比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍. 输入 一行,给出2到15个两两不同且小于100的正整数.最后用0表示输入结束.输出一个整数,即有多少个数对满足其中一个数是另一个数的两倍. 样例输入 1 4 3 2 9 7 18 22 0 样例输出 3 来源翻译自Mid-Central USA 2003的试题 1 #include

乐视市值是360两倍说明啥:卖水模式终结 生态战开打

一家互联网公司到底值多少钱?IPO前看融资估值,IPO后市值就是标的.以往,互联网企业靠自身内在驱动成长,市值变化不大,但放在当下"互联网+"的时代背景下,投资.入股的局越来越多,市值排名也就会出现冰火两重天的现象,这也是为什么游戏.工具类上市企业退市几率最高的原因.如果把时间放到2014-2015年来审视下主流互联网企业的市值会发现,BAT变化不大,但二线企业剧烈震荡. 拿两家最具代表性的企业对比,360股价由去年8月份的101.6美元跌到了目前的52美元,缩水了一半,市值64亿美元

中移动4G下载峰值速率增至218M/秒 为目前两倍

国产 4G 标准 TD-LTE 似乎在大力提高网速,由深圳移动发起的一项测试中,TD-LTE 的"加强版"技术在使得 4G 网络传输速率提高一倍,实地测试条件下的移动 4G 下载峰值速率可达 218M/秒,目前已可在移动版荣耀 6 等手机机型上体验快两倍的 4G. 实地测试获得峰值速率达 218M/秒 华强北.坂田.罗湖等深圳不同区域,近期均有深圳移动工作人员进行载波聚合技术测试.实地测试数据显示,4G 下载峰值速率可达 218M/秒.对比此前多家媒体在深实地测速的统计,采用载波聚合技