牛客算法题 HJ99 自守数 golang实现

题目

HJ99 自守数

描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 62576^2 = 57769376^2 = 87909376。请求出n(包括n)以内的自守数的个数


数据范围: 
1
≤
�
≤
10000
 
1≤n≤10000 


输入描述:
int型整数

输出描述:
n以内自守数的数量。

示例1
输入:
6
复制
输出:
4
复制
说明:
有0156这四个自守数      
示例2
输入:
1
复制
输出:
2
复制
说明:
有0, 1这两个自守数     

golang代码

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
    n:=0
    scan :=bufio.NewScanner(os.Stdin)
    for scan.Scan(){
       line:= scan.Text()
       n,_= strconv.Atoi(line)
    }
    
        count:=0
        for n>=0{
            tmp:=n*n
            if strings.HasSuffix(fmt.Sprintf("%d", tmp), fmt.Sprintf("%d", n)){
                count+=1
            }
            n=n-1
        }
        fmt.Printf("%d\n", count)
    
}

结果

牛客算法题 HJ99 自守数 golang实现_第1张图片

你可能感兴趣的:(算法,golang)