tcl手机 手写java_Tcl 语言改写Java题目-1

Java题目:https://blog.csdn.net/wenzhi20102321/article/details/52274976

Program1.

proc fun_1 {x} {

if {$x<3} {

return 1

} else {

return [expr [fun_1 [expr $x - 1]] + [fun_1 [expr $x - 2]]]

}

}

puts [fun_1 10]

program 2

#判断是不是素数的函数

#namespace import ::tcl::mathfunc::*

#循环结束都没有返回0才能判断是素数,则返回1;注意return 的返回值

proc fun_2 {x} {

for {set i 2} {$i < sqrt($x)} {incr i} {

if {$x % $i == 0} {

return false

}

}

return True

}

proc fun_3 {a b} {

set sum 0

for {set j [expr $a - 1 ]} {$j < $b} {incr j} {

if {[fun_2 $j]} {

set sum [expr $sum + 1]

puts $j

if { $sum % 5 == 0} {

puts "\n"

}

}

}

return $sum

}

puts [fun_3 101 200]

Program 3

#判断一个数是否是水仙花数

proc func_1 {x} {

set n 10

set k 100

#i=3

set i [expr $x %$n]

#j=5

set j [expr [expr $x / $n] % $n]

#z=1

set z [expr $x / $k]

#    set y [expr [expr pow($i,3)]+ [expr pow($j,3)] +[expr pow($z,3)]]

set y [expr pow($i,3)+ pow($j,3)+ pow($z,3)]

if {$x == $y} {

return True

} else {

return false

}

}

#打印出所有的水仙花数:1)是一个三位数,2)是一个水仙花

for {set i 100} {$i < 1000}  {incr i} {

if {[func_1 $i]} {

puts $i

}

}

Program 6

#最大公约数和最小公倍数

proc func_1 {a b} {

if {[expr $b % $a] == 0} {

puts $b

} else {

while {[expr $b % $a] != 0} {

set z [expr $b % $a]

set b $a

set a $z

}

puts $a

}

}

puts [func_1 27 36]

program 8

proc func_1 {} {

set a 3

set n 3

set q 10

#计算第n个数的大小

set x [expr $a * [expr [expr 1 - pow(10,$n)] / [expr 1 - $q]]]

#计算S=a+aa+aaa+aaaa+aaaaa的和

set sum 0

for {set i 1} {$i <= $n} {incr i} {

set x [expr $a * [expr [expr 1 - pow(10,$i)] / [expr 1 - $q]]]

set sum [expr $sum + $x]

}

return $sum

}

puts [func_1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值