2016-10-25 9 views
-1

プロジェクトでは、Swiftを使用して10000未満の3と5の倍数の合計を求めようとしています。 NoobJokesを挿入します。Swiftで印刷されたForループの合計

3と5の倍数を印刷するのは、ForLoopを使用するとかなり簡単でしたが、私が印刷したすべてのアイテムをどのように "合計"することができるのでしょうか?

let numberOfDivisiblesBy3And5 = (0...10000).filter{ $0 % 3 == 0 || $0 % 5 == 0 }.count 

やアイテムの合計を取得する:あなたはリピートループせずにそれを行うことができますスウィフトで

+2

どのようにあなたが人間として、これを行うに行きますか?プロセスを説明してください。 – Alexander

+0

['+ ='演算子](https://www.dotnetperls.com/for-swift)を使用して変数に数値を追加することができます。 –

+1

実際には結果は4668となっています。 – vadian

答えて

1

ちょっとプロセスを少し歩いてください。ループが実行されるたびに、あなたの合計の値を保持できる変数が必要です。 optional variable of type Intを定義するか、最初の行で行ったのと同じデフォルト値で初期化することができます。ループが実行されるたびにmultiple of 3 or 5のいずれかのitotalSumに追加され、最後の反復後に結果が得られます。

var totalSum = 0 
for i in 0...10000 { 
if i % 3 == 0 || i % 5 == 0 
{ 
    print(i) 
    totalSum = totalSum + i 
} 
} 
print (totalSum) 
+0

ウォークスルーありがとう!私の基本的な知識は改善されました。あなたは紳士で学者です! – Nate

1

;

for i in 0...10000 { 
    if i % 3 == 0 || i % 5 == 0 { 
     print(i) 
    } 
} 

(それらがどのように要約することができます468の個々の数字が印刷されました?) :

let sumOfDivisiblesBy3And5 = (0...10000).filter{ $0 % 3 == 0 || $0 % 5 == 0 }.reduce(0, {$0 + $1}) 
+1

私はあなたの答えをありがとうが、それほど自由にそれを与えないでください。あなたにこれを導いた思考プロセスを通してOPを導きなさい。 – Alexander

+0

質問ではなく、それらの数字の合計*を求めます。 –

+0

または単に 'reduce(0、+)' ... –

0

はこれを試してみてください:

var sum = 0 
for i in 0...10000 { 
    if i % 3 == 0 || i % 5 == 0 { 
     sum = sum + i 
     print(i) 
    } 
} 
print(sum) 
+0

letの代わりに 'var'が必要です。 'sum + = i'も好ましいです – Alexander

0

あなたはちょうど私が

var sum = 0 

for i in 0...10000 { 
    if i % 3 == 0 || i % 5 == 0 { 

     sum = sum + i 
     print(i) 
    } 
} 

の下に好きな結果を合計する必要がある今、合計がボトムラインでの値

0

の合計が含まれ、これは動作して必要があります。

var sum = 0 
for i in 0...10000 { 
    if i % 3 == 0 || i % 5 == 0 { 
     sum += i 
     print(i) 
    } 
} 
print(sum) 
-1

範囲:上の行動する操作のための番号の範囲を指定します。

ここでは、フィルタの方法を使用して、3と5の倍数である数値を除外し、フィルタリングされた値を合計します。 (は、0(+をを減らす)仕事をしていません)

let sum = (3...n).filter({($0 % 3) * ($0 % 5) == 0}).reduce(0,+) 
+0

私は自分の答えを編集しました。 downvoteを削除できますか? – cgeek

+0

素晴らしい!しかし、それは申し訳ありません。私のcomは管理目的のためだけです – GGO

関連する問題