2011-12-17 32 views
-2

do..whileループを使用してプログラムを作成しようとしています。下から100までのすべての数字を7と5で割り切れますが、11ではなくリストしています。
お手伝いできますか?このコードは動作するはずですC do-whileループ

+6

の私pythonist応答はあなたが私たちを示すいいですされます何を試しましたか? – 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


編集sehe私はIができ、無駄に私のハードワークを手放すことができませんでした:絶対楽しいとキックのために

、ここでは、C++ 0xの

#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

ところで、これは5と7は 'num%35 == 0 && num%11!= 0'に等しい素数 – MByD

+0

それは、私がやっていることを理解するのが難しくなっていたでしょう – annonymously