🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

1213閲覧

Swift5.1でメルセンヌ素数を利用して完全数を求めたい

masaki_ponpoko

総合スコア5

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2019/11/19 04:06

編集2019/11/19 04:22

実現したいこと

Swift5.1を使用して完全数を取得するプログラムを書いているのですが,以下のコードを実行しても何も値が返ってきません."melsen"が素数かどうか判定し,もし素数であればprintするようにしたい(9行目以降)のですがアドバイスをいただけると嬉しいです...!

該当のソースコード

swift5.1

1var comp = "1" 2var mel = "1" 3for n in 1...30 { 4 comp = "1"+comp+"0" // 2進数を使って2*n - 1 * 2**(n-1)を作り出す 5 mel = "1" + mel // 2進数を使って2**n - 1を作り出す 6 let value = Int64( comp, radix: 2 )! 7 let melsen = Int64( comp, radix: 2 )! 8 9 // melsenが素数かどうか判定し、そのときは、valueを表示する 10 var yakusuu:Int64 = 0 11 for divisor in 1...melsen{ 12 if melsen % divisor == 0{ 13 yakusuu += 1 14 } 15 } 16 if yakusuu == 2{ 17 print(value) 18 } 19} 20 21

参考にした記事

Swift3で素数判定

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

melsenを作成する処理が誤っているだけじゃないですか?

swift

1let melsen = Int64( comp, radix: 2 )!

swift

1let melsen = Int64( mel, radix: 2 )!

投稿2019/11/19 04:33

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaki_ponpoko

2019/11/19 04:44

comp→mel に変更するだけで通りました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問