Free Trial

ウィークリーチャレンジリポジトリ

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #39: 最も近い素数を見つけましょう!

SaoriG
Alteryx Alumni (Retired)

先週のチャレンジに対する解答は こちらです。

 

今週のチャレンジは頭で考えるのは簡単ですが実際に作成するのは難しいかもしれません。

 

 OptimusPrime.gif

素数とは「1より大きい整数で、1と自分自身でしか割り切れない数」のことです。

ルックアップテーブルを使用せずに、ユーザーが入力した番号を受け取り、入力した数値に最も近い素数を返すアプリを作成してください。

 

DaisukeTsuchiya
マグネター

アプリを作るのですよね?yxwz がUploadできなかったので、yxzpにしました。

 

スポイラ
キャプチャ.PNG

 

Tokimatsu
クエーサー

たぶんこれでいいと思うんですが。「ルックアップテーブルを使用せずに」というのは事前に素数表を用意するのはなし、って意味ですよね?

スポイラ
手抜きで#35の回答を流用して3分(?)で作りました。

challenge_jp_39.PNG

AkimasaKajitani
17 - Castor
17 - Castor

シンプルな問いほど悩めることが隠れてますね・・・。

 

スポイラ

入力された数値に一番近い素数、ということで入力数値より大きい場合の素数も出しました。そのため、複数存在するような場合もカンマ区切りで出しています(6のときは、5と7が一番近い素数です)


入力数値が1以下の場合は常に2というのがロジックでうまく表現できなかったので例外処理にしてしまいました(業務でやるなら楽な方で・・・)。

 


クリップボード01.png

 

DaisukeTsuchiya
マグネター

Kajitaniさん、さすがです。最も近い素数の意味、気が付きませんでした。なるほどです。

Qiu
21 - Polaris
21 - Polaris

普通なやり方ですが。ja-39.PNG

スポイラ
 

 

ntakeda
ボリード

マクロを使った方がいいとは思いましたが、妥協しました。

gawa
16 - Nebula
16 - Nebula
スポイラ
gawa_0-1631350789823.png

与えられた数字より大きくて最も近い素数・・・を求めるのはどうすればいいか悩みましたが、与えられた数X2までチェックすることにしました。

10000くらいになると激重です

Yoshiro_Fujimori
オーロラ

#35で作ったマクロを再利用しました。

処理効率は改善の余地があります。

スポイラ
アプリ:インターフェースから数字を受け取り、マクロで最も近い素数を取得し、元の数と合わせて表示
Yoshiro_Fujimori_0-1663197001099.png
マクロ:素数で割り切れない数のリストが1行になったら出力
Yoshiro_Fujimori_1-1663197046188.png
サブマクロ:コントロールパラメータで与えた素数で割り切れない数のリストを出力
Yoshiro_Fujimori_2-1663197096742.png

 

 

dyamaguchi
アステロイド

投稿します。

スポイラ
指定された数値以下の範囲に限って最も近い素数を探しました。
Snipaste_2022-10-10_16-27-23.png