请选择 进入手机版 | 继续访问电脑版

用Java写了一个小猪效果图:

回答|共 65 个

孤星11 发表于 2022-11-16 15:15:27| 字数 262 | 显示全部楼层

legs+ 发表于 2022-11-11 19:19
其实,就是一个循环的事,哈!

我终于明白你说的“循环”是什么意思,电脑术语应该是叫做Automata.

有一个马来西亚程序员用perl解决了你楼上三角形的难题。
  1. echo 10 | perl -e'$_=<>;--$_;print $_=" "x$_."*"." "x$_." ";print$_ while(s/ */**/g&&s/* /**/g);'
复制代码


贴在Linux终端就可以看到结果。

孤星11 发表于 2022-11-16 20:30:49| 字数 725 | 显示全部楼层

Go语言版本:

  1. package main

  2. import (
  3.         "fmt"
  4.         "strings"
  5. )

  6. func main() {
  7.         fmt.Println("10")
  8.         printStarTree(10)
  9.         fmt.Println("9")
  10.         printStarTree(9)
  11. }

  12. func printStarTree(n int) {
  13.         // Calculate the max number of padded spaces on the left
  14.         spaceCount := (n - 1) / 2
  15.         var padBuilder strings.Builder
  16.         for j := 0; j < spaceCount; j++ {
  17.                 padBuilder.WriteRune(' ')
  18.         }
  19.         padding := padBuilder.String()

  20.         // This string builder is used to accumulate the stars
  21.         var starBuilder strings.Builder
  22.         starBuilder.WriteRune('*')

  23.         // In each iteration, the padding contracts and the stars expand
  24.         for i := 1; i <= n; i += 2 {
  25.                 // Print padding + stars
  26.                 fmt.Println(padding[:spaceCount] + starBuilder.String())

  27.                 // Stars increase at the rate of two per row
  28.                 starBuilder.WriteString("**")

  29.                 // Reduce padding for the next row
  30.                 spaceCount--
  31.         }
  32. }
复制代码

legs+ 发表于 2022-11-16 21:14:15| 字数 133 | 显示全部楼层

本帖最后由 legs+ 于 2022-11-16 21:16 编辑

https://c.runoob.com/compile/21/
是完美运行了,很OK。

。。。
现在是服务的时代,我都不喜欢整那些语法,没意思!



...
上面这个视频就是提供一种思路,当然语法熟练了,才能更好的操作服务

legs+ 发表于 2022-11-16 21:17:26| 字数 27 | 显示全部楼层

golang是未来的一个趋势,是替代PHP的完美方案。

legs+ 发表于 2022-11-16 21:20:47| 字数 113 | 显示全部楼层

孤星11 发表于 2022-11-16 15:15
我终于明白你说的“循环”是什么意思,电脑术语应该是叫做Automata.

有一个马来西亚程序员用perl解决了 ...

嗯,看到结果了
...
我整Linux主要是为了实现docker和k8s

孤星11 发表于 2022-11-16 21:37:29| 字数 189 | 显示全部楼层

legs+ 发表于 2022-11-16 21:14
https://c.runoob.com/compile/21/
是完美运行了,很OK。

看了,中间件和数据库,原来高并发这么讲究技术的,我还以为只有底层编程才有,一直以来轻看了数据库。
视频详述很多机制,有些我还看不过来,有趣的一点是什么INSERT / UPDATE ON KEY /DATE.....那个是防止两个主键同时写入,很高明的方法。

孤星11 发表于 2022-11-16 21:39:18| 字数 107 | 显示全部楼层

legs+ 发表于 2022-11-16 21:17
golang是未来的一个趋势,是替代PHP的完美方案。

我贴的Go源码(别人写的),倒是我第一次认真看过的Go语言,原来是那样的。

你会学Golang吗?看来我也得懂一些。

孤星11 发表于 2022-11-17 13:47:34| 字数 78 | 显示全部楼层

本帖最后由 孤星11 于 2022-11-17 13:49 编辑

这个高难度吧?但是对那个程序员来说是轻易完成的代码(也是用Go语言)。

这个叫做Sierpinski's

l.jpg


legs+ 发表于 2022-11-17 15:28:00| 字数 107 | 显示全部楼层

孤星11 发表于 2022-11-17 13:47
这个高难度吧?但是对那个程序员来说是轻易完成的代码(也是用Go语言)。

这个叫做Sierpinski's

你在那里拷贝到的代码,能分享一下链接吗?
还有你一些常去的基础代码网站

孤星11 发表于 2022-11-17 15:36:48| 字数 843 | 显示全部楼层

本帖最后由 孤星11 于 2022-11-17 15:37 编辑
legs+ 发表于 2022-11-17 15:28
你在那里拷贝到的代码,能分享一下链接吗?
还有你一些常去的基础代码网站 ...

没有啦,我没有常去的基础代码网站,前天我只是借用你的题目在马来西亚最大英文论坛发问,结果引来两位程序员作答。

从148楼看起吧,Fraus是我的最新用户名之一(我有很多用户名在那里,嘿嘿):
https://forum.lowyat.net/index.p ... indpost&p=105847346



这个代码是那个最后图案的:
Go Playground - The Go Programming Language
  1. package main

  2. import (
  3.         "fmt"
  4.         "strings"
  5. )

  6. func cell(cells []byte, rule int) {
  7.         t := [8]byte{}
  8.         for i := 0; i < 8; i++ {
  9.                 switch rule & 1 {
  10.                 case 0:
  11.                         t[i] = ' '
  12.                 case 1:
  13.                         t[i] = 'X'
  14.                 }
  15.                 rule >>= 1
  16.         }
  17.         for row := 0; row < 100; row++ {
  18.                 fmt.Println(string(cells))
  19.                 state := 0
  20.                 if cells[0] == 'X' {
  21.                         state = 1
  22.                 }
  23.                 for i := 1; i < len(cells); i++ {
  24.                         state = (state << 1) & 7
  25.                         if cells[i] == 'X' {
  26.                                 state = state | 1
  27.                         }
  28.                         cells[i-1] = t[state]
  29.                 }
  30.                 state = (state << 1) & 7
  31.                 cells[len(cells)-1] = t[state]
  32.         }
  33. }

  34. func main() {
  35.         buf := []byte(strings.Repeat(" ", 120))

  36.         // single X in the middle
  37.         buf[len(buf)/2] = 'X'
  38.         cell(buf, 18) // 18 = 00010010 binary
  39. }
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则