问题: [2min 大家自己想想] 一个程序P运行后能否输出自己的源代码?并且格式保持一致(换行.空格等) 思考: 这个问题的本质是一个递归问题,设有P运行后生成G 既P->G && P==G: 1. P 中需要设置一个字符串 me 来存放自己的源码 2. P.me 的赋值内容为 P 源文件开头到 P.me 所在行(P 中蓝色部分和红色部分相同), 此时 P.me 中的内容是G的开头到 G.me 赋值的源码 (G中红色部分) 3. P然后继续打印出G.me 赋值的内容(G中蓝色部分)…
本文来源:Go by example. Golang的格式化输出 和 C语言的标准输出基本一样,但是增加了一些针对Golang语言的特有数据结构的格式化输出方式. 一下就是实例: package main import "fmt" //一定不要忘了 type point struct{ x,y int } func test(i , j int) int{ return i+j;} func main(){ p := point{1,2} fmt.Printf("%d\n&q…
[golang]golang如何覆盖输出console,实现进度条 package main import( "fmt" "os" "time" ) func main(){ ;i!=;i=i+{ fmt.Fprintf(os.Stdout,"result is %d\r",i) time.Sleep(time.Second*) } fmt.Println("Over") } golang一个骚气的进度提示…
汉诺塔(又称河内塔)问题其实是印度的一个古老的传说. 开天辟地的神勃拉玛(和中国的盘古差不多的神吧)在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一 个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上 面.计算结果非常恐怖(移动圆片的次数)18446744073709551615,众僧们即便是耗尽毕生精力也不可能完成金片的移动了. 算法介绍:其实算法非常简单,…
(该字符串可以包含空格和回车!) [题目要求] 编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能. 例如输入字符串:ABCD,输出字符串:DCBA. [题目分析] 应用递归的思想有时可以很轻松地解决一些看似不太容易实现的功能. 本题就是利用递归方法解决这类问题的一个代表.要将一个字符串反向地输出,一般采用的方法是将该字符串存放到一个数组中,然后将数组元素反向地输出即可. 这样需要一个存储空间,而且字符串的长度无法自由掌握,因为数组是一种静态数据结构.如果选用动态生成的顺序表或者链表来…
今天来整理一下os库中方法的使用,如何输出一个目录下的所有文件? 1.首先介绍几个基本的的方法: 1)os.getcwd()  #返回当前工作目录 2)os.listdir()    #返回一个列表,包含当前工作目录下的文件和路径 3)os.path.join(path,*paths) 路径拼接 4)os.path.isfile(path)  判断是不是文件,返回布尔值 2.如何输出所有的文件路径呢?代码: def allfile(basepath): for item in os.listdi…
package pers.zbb.File; import java.io.File; public class FileDemo { public static void main(String[] args) { File file = new File("E:\\IO流"); getFileAll(file); } public static void getFileAll(File file) { File[] files = file.listFiles(); for (Fi…
1. 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例:  分析:  A:封装目录  B:获取该目录下的所有文件和文件夹的File数组  C:遍历这个File数组,得到每一个File对象的绝对路径  D:判断该File对象是文件还是文件夹 2. 代码实现: package com.himi.diguidemo; import java.io.File; /** * 需求:输出指定目录下的所以.java结尾文件的绝对路径的案例 * 分析: * A:封装目录 * B:获取该目录下的所有文…
         Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda : 4.5.11    typesetting : Markdown   code """ @Author : 行初心 @Date : 18-9-24 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/zhichengji…
参考 package main import ( "fmt" "sync/atomic" "time" ) func main() { var count uint32 trigger := func(i uint32, fn func()) { for { if n := atomic.LoadUint32(&count); n == i { fn() atomic.AddUint32(&count, 1) break } ti…