zoukankan      html  css  js  c++  java
  • P2141 珠心算测验

    P2141 珠心算测验

    题目描述
    珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。

    某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?

    最近老师出了一些测验题,请你帮忙求出答案。

    (本题目为2014NOIP普及T1)

    输入格式
    共两行,第一行包含一个整数nn,表示测试题中给出的正整数个数。

    第二行有nn个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。

    输出格式
    一个整数,表示测验题答案。

    输入输出样例
    输入
    4
    1 2 3 4
    输出
    2
    说明/提示
    【样例说明】

    由1+2=3,1+3=4,故满足测试要求的答案为22。

    注意,加数和被加数必须是集合中的两个不同的数。

    【数据说明】

    对于100%的数据,3≤n≤100,测验题给出的正整数大小不超过10,000

     1 解法:
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     /*思路:
     8         1:输入n个数据存入数组中
     9         2:遍历 i=0->n 两两相加判断是否在数组中存在
    10         3:主要是一个数是组合数,那么就不能在重复计算了
    11 
    12     */
    13     int data[101];
    14     int book[101]={0};//标记
    15     int n;
    16     int cnt=0;//统计个数
    17     cin>>n;
    18     for(int i=0;i<n;i++){
    19         cin>>data[i];
    20     }
    21     for(int i=0;i<n-1;i++){
    22         for(int j=i+1;j<n;j++){
    23             for(int k=0;k<n;k++){
    24                 if(data[i]+data[j]==data[k]&&book[k]==0){
    25                     cnt++;
    26                     book[k]=1;//标记这个是组合数,且已经算过了,不需要再算了
    27                 }
    28             }
    29         }
    30     }
    31     cout<<cnt<<endl;
    32     return 0;
    33 }
  • 相关阅读:
    vue项目开发流程
    板子-补充
    Python 类对象的JSON序列化与反序列化
    Maven中央仓库地址配置大全
    Docker 中搭建 MySQL 主从复制
    mac 上必备的工具
    iTerm 中 oh my zsh 主题去掉 git 目录多级显示
    iTerm2 主题设置
    MySQL查看表占用空间大小
    MySQL 语句报错:1093
  • 原文地址:https://www.cnblogs.com/NirobertEinteson/p/12010818.html
Copyright © 2011-2022 走看看