早教吧作业答案频道 -->其他-->
0—9数字组成abcdefghi数,其中满足a能被1整除,ab能被2整除.以此类推,abcdefghi能被9整除,求abcdefghi各为多少?我编了一个程序,但是算不对,希望各位不吝赐教#include#includevoidmain(){\x05inta,b,c,d,e,f,g,h,i,
题目详情
0—9数字组成abcdefghi数,其中满足a能被1整除,ab能被2整除.以此类推,abcdefghi能被9整除,求
abcdefghi各为多少?我编了一个程序,但是算不对,希望各位不吝赐教#include
#include
void main()
{
\x05int a,b,c,d,e,f,g,h,i,k;
for(a=1;a
不好意思,最后那个k该写成sum,没注意!
abcdefghi各为多少?我编了一个程序,但是算不对,希望各位不吝赐教#include
#include
void main()
{
\x05int a,b,c,d,e,f,g,h,i,k;
for(a=1;a
不好意思,最后那个k该写成sum,没注意!
▼优质解答
答案和解析
本人只会VB代码,所以只能提供思路和结果:
以0-9不重复使用,符合要求的数有(EXCEL VBA 测试):
381654720
381654729
783204165
801654723
另:081654327 (因为0在首位,所以只有8位数,不符合要求)
计算思路如下(可以根据以下思路检查代码过程逻辑顺序是否正确):
abcdefg分别从0-9依次循环
0-9循环时首先判断是否与前位重复(a判断是否为0)
不重复则判断前面已当前数组成的数是否能被位数整除
如果能整除(如果为i循环则生成结果)则继续
EXCEL VBA 代码如下:
Sub abcdefghi()
For a = 0 To 9 Step 1
If a 0 Then
s = a
If Val(s) Mod Len(s) = 0 Then
For b = 0 To 9 Step 1
If b a Then
s = a & b
If Val(s) Mod Len(s) = 0 Then
For c = 0 To 9 Step 1
If c a And c b Then
s = a & b & c
If Val(s) Mod Len(s) = 0 Then
For d = 0 To 9 Step 1
If d a And d b And d c Then
s = a & b & c & d
If Val(s) Mod Len(s) = 0 Then
For e = 0 To 9 Step 1
If e a And e b And e c And e d Then
s = a & b & c & d & e
If Val(s) Mod Len(s) = 0 Then
For f = 0 To 9 Step 1
If f a And f b And f c And f d And f e Then
s = a & b & c & d & e & f
If Val(s) Mod Len(s) = 0 Then
For g = 0 To 9 Step 1
If g a And g b And g c And g d And g e And g f Then
s = a & b & c & d & e & f & g
If Val(s) Mod Len(s) = 0 Then
For h = 0 To 9 Step 1
If h a And h b And h c And h d And h e And h f And h g Then
s = a & b & c & d & e & f & g & h
If Val(s) Mod Len(s) = 0 Then
For i = 0 To 9 Step 1
If i a And i b And i c And i d And i e And i f And i g And i h Then
s = a & b & c & d & e & f & g & h & i
If Val(s) Mod Len(s) = 0 Then
结果 = 结果 & vbCrLf & s
End If
End If
Next i
End If
End If
Next h
End If
End If
Next g
End If
End If
Next f
End If
End If
Next e
End If
End If
Next d
End If
End If
Next c
End If
End If
Next b
End If
End If
Next a
MsgBox "0-9 不重复使用组成 9 位数 abcdefghi,满足以下要求:" & vbCrLf & vbCrLf & "左起 1-9 位能被对应的位数整除.即:" & vbCrLf & "a 能被 1 整除." & vbCrLf & "ab 能被 2 整除." & vbCrLf & "." & vbCrLf & "abcdefghi 能被 9 整除." & vbCrLf & vbCrLf & "符合要求的结果如下:" & 结果,vbInformation,"0-9 组成的 9 位数"
End Sub
以0-9不重复使用,符合要求的数有(EXCEL VBA 测试):
381654720
381654729
783204165
801654723
另:081654327 (因为0在首位,所以只有8位数,不符合要求)
计算思路如下(可以根据以下思路检查代码过程逻辑顺序是否正确):
abcdefg分别从0-9依次循环
0-9循环时首先判断是否与前位重复(a判断是否为0)
不重复则判断前面已当前数组成的数是否能被位数整除
如果能整除(如果为i循环则生成结果)则继续
EXCEL VBA 代码如下:
Sub abcdefghi()
For a = 0 To 9 Step 1
If a 0 Then
s = a
If Val(s) Mod Len(s) = 0 Then
For b = 0 To 9 Step 1
If b a Then
s = a & b
If Val(s) Mod Len(s) = 0 Then
For c = 0 To 9 Step 1
If c a And c b Then
s = a & b & c
If Val(s) Mod Len(s) = 0 Then
For d = 0 To 9 Step 1
If d a And d b And d c Then
s = a & b & c & d
If Val(s) Mod Len(s) = 0 Then
For e = 0 To 9 Step 1
If e a And e b And e c And e d Then
s = a & b & c & d & e
If Val(s) Mod Len(s) = 0 Then
For f = 0 To 9 Step 1
If f a And f b And f c And f d And f e Then
s = a & b & c & d & e & f
If Val(s) Mod Len(s) = 0 Then
For g = 0 To 9 Step 1
If g a And g b And g c And g d And g e And g f Then
s = a & b & c & d & e & f & g
If Val(s) Mod Len(s) = 0 Then
For h = 0 To 9 Step 1
If h a And h b And h c And h d And h e And h f And h g Then
s = a & b & c & d & e & f & g & h
If Val(s) Mod Len(s) = 0 Then
For i = 0 To 9 Step 1
If i a And i b And i c And i d And i e And i f And i g And i h Then
s = a & b & c & d & e & f & g & h & i
If Val(s) Mod Len(s) = 0 Then
结果 = 结果 & vbCrLf & s
End If
End If
Next i
End If
End If
Next h
End If
End If
Next g
End If
End If
Next f
End If
End If
Next e
End If
End If
Next d
End If
End If
Next c
End If
End If
Next b
End If
End If
Next a
MsgBox "0-9 不重复使用组成 9 位数 abcdefghi,满足以下要求:" & vbCrLf & vbCrLf & "左起 1-9 位能被对应的位数整除.即:" & vbCrLf & "a 能被 1 整除." & vbCrLf & "ab 能被 2 整除." & vbCrLf & "." & vbCrLf & "abcdefghi 能被 9 整除." & vbCrLf & vbCrLf & "符合要求的结果如下:" & 结果,vbInformation,"0-9 组成的 9 位数"
End Sub
看了0—9数字组成abcdefgh...的网友还看了以下:
下列加点字的读音,全部正确的一组是A.纤(qiān)细否(pǐ)泰将(qiāng)子无怒渐(jià 2020-05-13 …
1.请你把one至nine九个数词填入下面图中的空格内,使等式成立,数字不可重复.□+□=□ □- 2020-05-16 …
下列词语中加点字注音完全正确的一项是()(2分)A汲取(jí)胆怯(qiè)吹毛求疵(chī)B商 2020-06-28 …
下列词语中加点字注音完全正确的一项是()(2分)A.充沛(pèi)颤抖(chàn)蛊惑人心(gǔ) 2020-06-28 …
下列加点字的读音正确的一组是()A.渣滓(zǎi)席不暇暖(xiá)嗤笑(chī)生死攸关(yōu 2020-07-05 …
此一元高次多项式怎么推导f(i)=A(1+i)^(n-1)+(1+i)^(n-2)…(1+i)+1 2020-07-23 …
下列词语中,字形与加点字的读音全都正确的一项是()A.爆料一幅对联便笺(qiān)否极泰来(pǐ) 2020-07-28 …
下列词语中,字形与加点字的读音全都正确的一项是()A.爆料一幅对联便笺(qiān)否极泰来(pǐ) 2020-07-28 …
三元一次方程组a*x+b*y+c*z+d=0,e*x+f*y+g*z+h=0,i*x+j*y+k* 2020-08-03 …
下列词语中读音、字形全都正确的一组是A.央浼(miǎn)脊梁(jǐ)锱铢必较称心如意(chèn)B. 2020-12-06 …