今天看 C++ 书籍看到一个题,由此联想到了一个问题无法解决,还请大神予以帮助
编写一个程序求解100以内可以被5或10整除的最大自然数。当然问题很好解决,但是如果加上这样一些限制条件呢:编写一个程序求解100以内可以被5或10整除的自然数并且输出,而且找出最大自然数?
想了好久不能解决,主要是不知道如何把可以被5或10的数整除后赋值给数组,再加以比较大小,并输出
还请大神指点。
#include <stdio.h> int main() { int i,max; for(i=100;i>0;i--) { if( i % 5 == 0 || i % 7 == 0) { max=i; break; } } for(;i>0;i--) if( i % 5 == 0 || i % 7 == 0) printf("%4d",i); printf("\n最大值是%d\n",max); return 0; }
//g++ -Wall -march=corei7-avx -Ofast -msse4.2 -mavx -std=c++1y a.cpp -lm -o a #include <iostream> #include <vector> #include <algorithm> #include <boost/iterator/counting_iterator.hpp> using std::cout; using std::endl; int main(void) { const int max_num = 100; std::vector<int> vec( boost::counting_iterator<int>(1), boost::counting_iterator<int>(max_num)); for_each (vec.begin(), vec.end(), [] (auto i) { if (i % 5 == 0 || i % 7 == 0) cout << i << endl; }); return 0; }