• POJ C++程序设计 编程题#5 计算数组的低3位之和


    编程题#5:计算数组的低3位之和

    来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

    总时间限制: 1000ms 内存限制: 1024kB

    描述

    输入一个正整数构成的数组a[0], a[1], a[2], ... , a[n-1], 计算它们的二进制低3位之和。

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    // 在此处补充你的代码
    int main(int argc, char* argv[]) {
            int v, my_sum=0;
            vector<int> vec;
            cin>>v;
            while ( v ) {
                    vec.push_back(v);
                    cin>>v;
            }
            for_each(vec.begin(), vec.end(), CMy_add(my_sum));
            cout<<my_sum<<endl;
            return 0;
    }

     

    输入

    数组a,以0表示输入结束。

     

    输出

    一个整数 , 所输入数组各元素的二进制低3位之和。

     

    样例输入

    1 3 9 7 3 6 20 15 18 17 4 8 18 0

     

    样例输出

    41

     1 #include <iostream>
     2 #include <vector>
     3 #include <algorithm>
     4 using namespace std;
     5 // 在此处补充你的代码
     6 class CMy_add {
     7 private:
     8     int &sum;
     9 public:
    10     CMy_add(int &n):sum(n) {}
    11     void operator()(int x) {
    12         while (x >= 8) {
    13             x -= 8;
    14         }
    15         sum += x;
    16     }
    17 };
    18 int main(int argc, char* argv[]) {
    19     int v, my_sum=0;
    20     vector<int> vec;
    21     cin>>v;
    22     while ( v ) {
    23         vec.push_back(v);
    24         cin>>v;
    25     }
    26     for_each(vec.begin(), vec.end(), CMy_add(my_sum));
    27     cout<<my_sum<<endl;
    28     return 0;
    29 }
  • 相关阅读:
    IOS GCD使用实例大全
    IOS GCD图片数据异步下载,下载完成后合成显示
    Git使用详细教程
    maven是干什么的?
    npm 的作用
    webstorm+nodejs环境中安装淘宝镜像
    关于框架搭建-web
    ES6-babel转码
    JavaScript单元测试工具-Jest
    webpack-dev-server和webpack
  • 原文地址:https://www.cnblogs.com/dagon/p/4808913.html
Copyright © 2020-2023  润新知