File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -8,19 +8,21 @@ def smallestPrimeFactor (n : Nat) : Nat := Id.run do
88 return i
99 n
1010
11- def isMultiplyPrime (a : Nat) : Bool := Id.run do
12- let mut primes := (∅ : Array Nat)
11+ def isMultipleOfKPrimes (a : Nat) (k : Nat) : Bool := Id.run do
12+ let mut total := 0
1313 let mut a := a
14- for _ in [0 :3 ] do
14+ for _ in [0 :k ] do
1515
1616 if a ≤ 1 then
1717 return false
1818
1919 let p := smallestPrimeFactor a
2020 a := a / p
21- primes := primes.push p
21+ total := total + 1
2222
23- primes.size == 3 && a == 1
23+ total == k && a == 1
24+
25+ def isMultiplyPrime (a : Nat) : Bool := isMultipleOfKPrimes a 3
2426
2527example : isMultiplyPrime 5 = false := by native_decide
2628example : isMultiplyPrime 30 = true := by native_decide
@@ -41,7 +43,10 @@ def IsMultiplyPrimeIff (solution : Nat → Bool) : Prop :=
4143 (a : Nat) → solution a ↔ ∃ (p₁ p₂ p₃ : Nat), p₁ * p₂ * p₃ = a ∧ Nat.IsPrime p₁ ∧ Nat.IsPrime p₂ ∧ Nat.IsPrime p₃
4244
4345theorem isMultiplyPrime_is_correct : IsMultiplyPrimeIff isMultiplyPrime := by
44- sorry
46+ intro a
47+ constructor
48+ · sorry
49+ · sorry
4550
4651/-!
4752## Prompt
You can’t perform that action at this time.
0 commit comments