1樓:匿名使用者
vb6.0版本的可以嗎?
我用的是構成法。
option explicit
dim a, b, c, d, n
private sub command1_click()
for a = 1 to 9
for b = 0 to 9
n = a * 1000 + b * 100 + b * 10 + a
list1.additem n
next
next
end sub
private sub command2_click()
for a = 1 to 6
for b = a + 1 to 7
for c = b + 1 to 8
for d = c + 1 to 9
n = a * 1000 + b * 100 + c * 10 + d
list2.additem n
next
next
next
next
end sub
上面用的是構成法。
判斷的:
option explicit
dim s(4)
'迴文數,用函式判斷法
private sub command1_click()
dim n as integer
for n = 1001 to 9999
if (huiwennun(n)) then list1.additem n
next
end sub
'採用數字分離法
function huiwennun(n as integer) as boolean
dim a, b, c, d
a = int(n / 1000)
b = int((n - a * 1000) / 100)
c = int((n - a * 1000 - b * 100) / 10)
d = n - a * 1000 - b * 100 - c * 10
if a = d and b = c then huiwennun = true
end function
'升序數,沒有重複數字的
private sub command2_click()
dim n as integer
'for n = 1000 to 9999
for n = 1234 to 6789
if (sxnun(1234)) then list2.additem n
next
end sub
'與上面不用的數字分離方法。還可以「按位」提取數字
function sxnun(n as integer) as boolean
s(1) = mid(n, 1, 1)
s(2) = mid(n, 2, 1)
s(3) = mid(n, 3, 1)
s(4) = mid(n, 4, 1)
if s(1) < s(2) and s(2) < s(3) and s(3) < s(4) then sxnun = true
end function
2樓:匿名使用者
dim i as long
private sub command1_click()
for i = 1000 to 9999
if sxs(i) then list1.additem i
next i
end sub
private sub command2_click()
for i = 1000 to 9999
if hws(i) then list2.additem i
next i
end sub
private sub form_load()
command1.caption = "升序數"
command2.caption = "迴文數"
end sub
private function sxs(intsxs as long) as boolean
'判斷一個數是不是升序數
dim strsxs as string, i as integer
strsxs = ltrim(str(intsxs))
sxs = true
for i = 1 to len(strsxs) - 1
if mid(strsxs, i + 1, 1) <= mid(strsxs, i, 1) then
sxs = false
exit function
end if
next i
end function
private function hws(inthws as long) as boolean
'判斷一個數是不是迴文數
dim strhws as string, i as integer
hws = true
strhws = ltrim(str(inthws))
for i = 1 to int((len(strhws) + 1) / 2)
if mid(strhws, i, 1) <> mid(strhws, len(strhws) - i + 1, 1) then
hws = false
exit function
end if
next i
end function
3樓:衫達智和
。。。。。。。。。。。。
vb編寫function過程,判斷數字是否是迴文數。程式要求輸入一系列數字,找出所有的迴文數並顯示在文字框中 50
用c++編寫程式求10~2000之間所有的迴文數,判斷一個數是否為迴文數。要用函式fun(int n)來實現。
4樓:匿名使用者
long re(int a)
int nonre(lint n)//判斷給定的整數是否為迴文數return 0;//不是返回0
} void main()
printf("here we reached the aim at last.\n");//輸出最好得到的迴文數}
5樓:匿名使用者
#include
using namespace std;
int main()
bool fun(int n)
;a[0] = n/1000;//千位
a[1] = (n/100)%10;//百位a[2] = (n%100)/10;//十位a[3] = n%10;//個位
if(a[0])
else
return 0;}
6樓:
迴文數 是什麼數呀?
編寫vb程式,找出給定範圍內所有的迴文數
7樓:匿名使用者
private sub command1_click()dim a as string, n as integer, i as integer
a = text1.text
n = len(a)
for i = 1 to n
if mid(a, i, 1) <> mid(a, n - i + 1, 1) then exit for
next i
if i = n+1 then
print "是迴文數
"else
print "不是迴文數"
end if
end sub
8樓:劉師傅的一生
迴文?都不知道你在說什麼,我要舉報你
求助0 9取其中數字任意組合4位數求所有數字組合
不算0開頭,一共4536,超字數部分列出 從0 9數字任意組成4位數有多少種排列方法 9 10 10 10 9000種 千位數是1到9種任何一個,百位數十位數個位數是0到9種任何一個 可組成的數抄字和是根據每個數字 bai在各個位上出現的期望算du得.例如,一個不是0的數出現在zhi個位上的dao次...
最大的四位數和最小的三位數的和是多少
最大的四位數為9999 最小的三位數為100 二者的和為 9999 100 10099.9999 100 10099 最大的三位數乘最小的三位數的積是多少 最大的三位數乘最小的三位數的積是 99900 最大的三位數是999 最小的三位數是100 999x100 99900 最大的三位數是999 最小...
四位數,它各位數字的和是31,這個四位數可能是多少
只有一個最大的9994 相加是31 其它幾個四位數都沒有9994大,所以求一個答案是9994 采采 這道題目有兩個關鍵,第一個他是四位數,所以第一位數不能是零。第二個有四個數字相加,所以,四個數字裡最小一個不能小於四。那麼可以有的組合是,9994,9985,9976,9886,9877。4個數字的順...