【HDU】1303 Doubles

问题描述
作为算术能力计划的一部分,您的学生将获得随机生成的2至15个独特正整数列表,并要求确定每个列表中有多少项目是同一列表中的其他项目的两倍。您需要一个程序来帮助您进行评分。这个程序应该能够扫描列表并为每个列表输出正确的答案。例如,给出列表 
1 4 3 2 9 7 18 22
你的程序应该回答3,因为2是两次1,4是两次2,18是两次9。 

输入
输入文件将包含一个或多个数字列表。每行将有一个数字列表。每个列表将包含2到15个独特的正整数。没有整数将大于99.每行将以整数0结束,这不被视为列表的一部分。具有单个数字-1的行将标记文件的结尾。下面的示例输入显示了3个单独的列表。一些列表可能不包含任何双打。
 
产量
输出将由每个输入列表一行组成,其中包含其他项目的两倍的项目数。

示例输入
 
 
1 4 3 2 9 7 18 22 02 4 8 10 07 5 11 13 1 3 0-1
 
示例输出
 
 
320


    这道题的思路是先排序,再循环,一遍就过啦〜

代码:

#include <stdio.h>
#include <算法>
使用namespace std;

int main(){
    int a [30];
    while(scanf(“%d”,&a [0])!= EOF && a [0]!=  -  1){
        int len = 1;
        for(int i = 1; i <= 20; i ++)
        {
            的scanf( “%d”,&A [1]);
            LEN ++;
            if(a [i] == 0){
                打破;
            }
        }
        int num = 0;
        排序(A,A + LEN);
        for(int j = 0; j <len; j ++)
        {
            for(int k = j + 1; k <len; k ++)
            {
                如果(a [j] * 2 == a [k])
                {
                    num ++;
                }
            }
        }
        的printf( “%d \ n” 个,NUM);
    }
    返回0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值