POJ C++程序设计 编程题#5 计算数组的低3位之和
2015-09-14 23:48
459 查看
编程题#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
#include <iostream> #include <vector> #include <algorithm> using namespace std; // 在此处补充你的代码 class CMy_add { private: int ∑ public: CMy_add(int &n):sum(n) {} void operator()(int x) { while (x >= 8) { x -= 8; } sum += x; } }; 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; }
相关文章推荐
- c++初步认识
- C++ Map简介
- c++中new/operator new/placement new
- 【C++学习】 之 const专题讲座
- OC语言基本语法
- C++反射
- effective c++ 别让异常逃离析构函数
- C++的STL进一步总结之set
- C++的STL进一步总结之map
- C++的STL进一步总结之pair
- OC语言中的类和对象
- c语言条件表达式
- 第2周项目3 体验复杂度(2)汉诺塔
- C++的STL进一步总结之lower_bound和upper_bound
- c语言'/0'
- C++ Primer学习总结_1_开始(续)
- Effective C++读书笔记(二)
- C/C++基础笔试题1.1.2(十问解决方案运营商)
- c++深拷贝与浅拷贝
- C++ Primer Plus(第六版)--学习杂记(第一第二章)