• Openjudge-NOI题库-和数


    题目描述 Description

    给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。

    输入输出格式 Input/output
    输入:
    共两行,第一行是数列中数的个数n ( 1 <= n <= 100),第二行是由n个不大于10000的正整数组成的数列,相邻两个整数之间用单个空格隔开。
    输出:
    一个整数,即数列中等于其他两个数之和的数的个数。
    输入输出样例 Sample input/output
    样例测试点#1
    输入样例:
    2
    4
    1 2 3 4
    5
    3 5 7 9 10
    输出样例:
    2
    1
    思路:可以先将这个数组中所有两个数相加的和存入另一个数组(两重循环即可),然后再扫描一遍这个数组同相加的和的数组比较,如果相同则答案++
    代码如下:
     1 #include <stdio.h>
     2 int main()
     3 {
     4     int n,i,j;
     5     int a;
     6     int kk=0;
     7     int aa[102],bb[99999];
     8     int ans=0;
     9     scanf("%d",&n);
    10     while(n>0)
    11     {
    12         scanf("%d",&a);
    13         for(i=0;i<a;i++)
    14         {
    15             scanf("%d",&aa[i]);
    16         }    
    17                 /*=======================*///将这个数组中的每两个数和全部存入bb中    
    18         for(i=0;i<a;i++)
    19         {
    20             for(j=i+1;j<a;j++)
    21             {
    22                 bb[kk]=aa[i]+aa[j];
    23                 kk++;
    24             }
    25         }
    26                 /*=======================*///循环判断两个数和的数组中是否有和元素组一样的
    27         for(i=0;i<kk;i++)
    28         {
    29             for(j=0;j<a;j++)
    30             {
    31                 if(bb[i]==aa[j]) ans++;//有,ans++
    32             }
    33         }
    34         printf("%d
    ",ans);
    35         ans=0;//答案归零
    36         kk=0;//循环变量归零
    37         n--;//循环条件控制
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    高通量计算框架HTCondor(二)——环境配置
    高通量计算框架HTCondor(一)——概述
    使用NlohmannJson写JSON保留插入顺序
    DEM转换为gltf
    webpack4配置基础
    TypeScript && React
    使用Jest进行单元测试
    如何在TypeScript中使用JS类库
    TypeScript模块系统、命名空间、声明合并
    TypeScript高级类型
  • 原文地址:https://www.cnblogs.com/geek-007/p/5662307.html
Copyright © 2020-2023  润新知