2以上の整数が与えられたとき、それを素数の積に分解するプログラムを作成したいのです。
例えば、TextBox1に24と打ち込んで、Button1をクリックすると、TextBox2に2×2×2×3が表示されるといった具合です。
↓ここからどうすれば良いか、ご教授お願い致します。
Private Sub IntegerButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n, a As Integer
n = TextBox1.Text
Do
back:
If n Mod 2 = 0 Then
n = n Mod 2 = 0
Else
n = n Mod 3 = 0
End If
GoTo back
Loop Until n = n + 1
TextBox2.Text = n & "×"
End Sub
End Class
No.1ベストアンサー
- 回答日時:
じぶんだったら、
pl: 素因数のリスト
N: 対象
m: 現在の素因数候補
として、
if N mod m = 0 then
plにmを追加。
N = N / m
else
m = m + 1
end
をループさせて、plを完成させる――というプログラムにしますね。
多少効率を考えると、m=2を特別扱いし、m=3,5,7,...[√N]の範囲でループさせるとか。
No.2
- 回答日時:
作ってみました
Dim n As Long = TextBox1.Text
Dim m As Long = 2
Dim pl As ArrayList = New ArrayList
If (n <= 1) Then
Label1.Text = "NG"
Exit Sub
End If
While n >= m * m
While n Mod m = 0
pl.Add(m.ToString())
n /= m
End While
If (m = 2) Then
m = 3
Else
m += 2
End If
End While
If (n > 1) Then
pl.Add(n.ToString())
End If
Label1.Text = String.Join("×", CType(pl.ToArray(GetType(String)), String()))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBで作った乱数を一度も重複させずに表示する方法を教えてください!
Visual Basic(VBA)
-
VB.NETで階乗を求めるプログラムを作成する
Visual Basic(VBA)
-
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
-
4
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCの終了の仕方
-
VBAでln関数の計算
-
DOSコマンドのループ内のTIMEコ...
-
テキストボックスの名前に変数...
-
UWSCに制限時間を付けたいです
-
vb2005 webbrowserでリンクを...
-
CASLIIの問題で困っています
-
スライドショー
-
Pro Tools の 波形を伸ばす方...
-
GIFアニメをループさせたくない
-
WHILE (CHKIMG(”A.bmp”)=FALSE)...
-
画面を強制的に再描画させる方法
-
レインボー色ってどうやって表...
-
流れ図(フローチャート)が分か...
-
perl 文字列検索後に指定フィー...
-
バイナリデータの検索(VB.NET2008)
-
DBIを使ってのデータの取り出し...
-
サブルーチン(共通の処理)の...
-
ExcelVBAでのデータ型変換、も...
-
チェックデジットについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
DoEventsが必要な理由について
-
UWSCの終了の仕方
-
Escキーを押すと、中断する時と...
-
VBA for i=1 to lastrow
-
vb.netからエクセル関数書き込み
-
GIFアニメをループさせたくない
-
「人を傷つけることは悪いこと...
-
VBAでの一時停止と再開の方法
-
VBAで3秒だけ時間を止めたい
-
DOSコマンドのループ内のTIMEコ...
-
アクティブセルから、A列最終行...
-
CSVファイルの特定の行だけを読...
-
範囲指定したセルを1つずつ飛...
-
ループフリー
-
VBA for文が止まらない
-
null 参照の例外が実行時に発生...
-
vbscriptでIE自動入力(途中で...
-
フラグについて
-
VBA Dir関数でファイルをループ...
おすすめ情報