问题 F: 两倍1006

温馨提示:获取更多内容请关注微信公众号zstu就业

题目描述

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

输入

输入文件将包含一个或多个数字列表。每行将有一个数字列表。每个列表将包含2到15个唯一正整数。所有整数都小于99。每一行以整数0结束,0不被视为列表的一部分。 带有单个数字-1的行表示文件输入结束。下面的示例输入显示了3个单独的列表。某些列表可能不包含任何符合条件的数。

输出

每一行输入列表都有一行输出,输出该列表中有多少项是同一列表中其他项的两倍。

样例输入 Copy

1 4 3 2 9 7 18 22 0
2 4 8 10 0
7 5 11 13 1 3 0
-1

样例输出 Copy

3
2
0
#include<stdio.h>
int main()
{
	int b[20];
	int i,a;
	while(1)
	{
		scanf("%d",&a);
		if(a==-1)
		{
			break;
		}
		else
		{
			b[0]=a;
			for(i=1;i<20;i++)
		    {
			    scanf("%d",&a);
			    if(a==0)
			    {
				    break;
			    }
			    else
			    {
				    b[i]=a;
			    }
		    }
		}
		int sum=0;
		for(int j=0;j<i;j++)
		{
			for(int k=0;k<i;k++)
			{
				if(b[j]==2*b[k])
				{
					sum++;
				}
			}
		}
		printf("%d\n",sum);
	}
	return 0;
}

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YYDGM1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值