Advertisement
Pug_coder

Dividers

Apr 19th, 2021
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.99 KB | None | 0 0
  1. package main
  2. import "fmt"
  3. import "sort"
  4. type IntArray []int
  5. func del(x int) IntArray {
  6.     var arr IntArray
  7.  
  8.     for i := 1; i * i <= x; i++ {
  9.         if x % i == 0 {
  10.             arr = append(arr, i)
  11.             if i * i != x {
  12.                 arr = append(arr, x/i)
  13.             }
  14.         }
  15.     }
  16.     return arr
  17. }
  18. func prime(ch int, div int) bool {
  19.     k := ch / div
  20.     if ch % div != 0 { return false }
  21.     for i := 2; i <= k / 2; i++ {
  22.         if k % i == 0{
  23.             return false
  24.         }
  25.     }
  26.     return true
  27. }
  28. func (arr IntArray) Len() int {return len(arr)}
  29. func (arr IntArray) Less(i,j int) bool {
  30.     a, b := arr[i], arr[j]
  31.     return a > b
  32. }
  33. func (arr IntArray) Swap(i, j int) {
  34.     arr[i], arr[j] = arr[j], arr[i]
  35. }
  36. func main() {
  37.     var x int
  38.     fmt.Scanf("%d", &x)
  39.     arr := del(x);
  40.     sort.Sort(arr)
  41.     fmt.Println("graph {")
  42.     for i := 0; i < len(arr); i++ {fmt.Println("\t", arr[i])}
  43.     for j := 0; j < len(arr); j++ {
  44.         for i := j + 1; i < len(arr); i++ {
  45.             if prime(arr[j] , arr[i]) {
  46.                 fmt.Println("\t", arr[j], "--", arr[i])
  47.             }
  48.         }
  49.     }
  50.     fmt.Println("}")   
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement