2011-12-17 4 views
-2

do..while 루프를 사용하여 프로그램을 작성하려고합니다 : 아래쪽으로 100에서 7과 5로 나눌 수 있지만 11이 아닌 모든 숫자를 나열하십시오.
도와 주시겠습니까?C do-while 루프

+6

는 당신이 우리를 보여주는 될까요이다 너 뭐 해봤 니? – MByD

+1

숙제가 있습니까? 있는 경우 태그를 추가하십시오. – dasblinkenlight

+0

제발 1) "do/while"루프에 대한 지금까지의 코드를 보여주십시오. 2) Q : 숫자가 7로 ​​나눌 수 있는지 어떻게 알 수 있습니까? 5로 나눌 수 있습니까? 5와 7 모두 나누어 쓸 수 있습니까? 힌트 : "%"연산자에 익숙합니까? – paulsm4

답변

1

이 코드는 작동합니다, 나는 그것을 테스트하거나 초과하고 현명한 속도를 수행하는 더 나은 방법은 아마이 있습니다,하지만하지 않은 :

int counter = 0;// Counts the index of the array 
int num = 100;// the iterator like 'i' in a for loop 
int nums [100];// the array to store all the numbers 
do { 
    if (num % 7 == 0 && num % 5 == 0 && num % 11 != 0) { 
     nums[counter] = num; 
     counter++; 
    } 
    num--; 
} while(num >= 0) 

을 또한 여기에서에 대한 몇 가지 물건과 함께 페이지입니다. ..while 당신은 그것에 대해 공부를해야하는 경우 :

http://www.keil.com/support/docs/1950.htm


편집 (를 10) 내가, 내 노력이 낭비 갈 수 있도록 없습니다 : 절대 재미와 차기를 들어

, 여기에 C + +0 내 pythonist 응답

#include <boost/range/adaptors.hpp> 
#include <boost/range/irange.hpp> 
#include <boost/phoenix/phoenix.hpp> 
#include <iostream> 

using boost::adaptors::filtered; 
using boost::phoenix::arg_names::arg1; 
using boost::irange; 

int main(int argc, const char *argv[]) 
{ 
    for (auto i : irange(200,1,-1) | 
     filtered(!((arg1 % 5) | (arg1 % 7)) && (arg1 % 11))) 
      std::cout << i << std::endl; 
} 
+0

왜 나는 그걸 내 게시물에 넣었습니까? 나는 그것이 질문에 의미가 있다고 생각하지 않고 그것이 내 게시물에 어떻게 들어가는지를 보지 못했다. – annonymously

+1

BTW, 5와 7은 'num % 35 == 0 && num % 11! = 0'과 같다. 소수. – MByD

+0

글쎄, 내가 뭘하고 있었는지 이해하기가 더 어려워 졌을 것이다. – annonymously