【题解】【PTA团体程序设计天梯赛】 L1-046 整除光棍 (20 分) Go语言|Golang
11111113x5sxsn
x31358422939068115313584229390681111111111111111151

输入格式:

输入在一行中给出一个不以5结尾的正奇数x(<1000)。

输出格式:

sn1

输入样例1:

31

结尾无空行

输出样例1:

3584229390681 15

结尾无空行

思路:

int字符字符串

代码如下:

package main

import "fmt"

func main() {
	var n int
	_,_=fmt.Scan(&n)
	divis := 0
	var number [1001]rune
	rem,length,flag,count := 0,0,0,0
	for {
		count++
		divis = rem*10 + 1 //从1开始进行,1,11,111这样开始
		rem = divis % n    //余数
		if divis/n != 0 || flag != 0 { // 如果可以整除或是flag!=0
			flag = 1
			// fmt.Println(divis,divis/n,flag)
			number[length] = rune(divis/n + '0')  // 用字符形式存余数
			length++  // 不断叠加
		}
		if rem == 0 {  //如果没有余数,即可以整除
			s := ""
			for _, item := range number {
				if item != 0 {  //再进行拼接
					s += string(item)
				}
			}
			fmt.Printf("%s %d", s, count)
			break
		}
	}
}