考考你的算法……

QQRN 2002-04-18 03:55:49
一个非0的自然数,把它的末位数移至首位,得到的数字是原来数字的两倍!求此数字是多少?

我算了3个小时没算出来……
但是有人8分钟算出……(她自己说的)
如果单凭计算机的能力的话……
估计……呵呵……跟我一样算不出或浪费时间……
答对有奖……
...全文
91 65 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwutao 2002-04-20
  • 打赏
  • 举报
回复
程序已经贴在上面,不过声明:我是参考阿甘的算法来写的,在此谢谢阿甘
wuwutao 2002-04-20
  • 打赏
  • 举报
回复
我写的程序可以运行并正确计算,不过要在.Net下运算,因为VB LONG 的长度不够
wenw 2002-04-20
  • 打赏
  • 举报
回复
设存在“首位移到末位存在",则有
x(1)···x(n)*2=x(2)···x(n)x(1)
那么,x(2)=x(1)*2+k1 k1=0 or 1 x(2)<10
x(3)=x(2)*2+k2-k1*10 k2=0 or 1 x(2)<10
那么如果任一位乘以2有进位的话,它就必须是奇数,如果某一位是奇数,那么后面的数都必须有进位,那么在1-9中,我们只有
(9加1)乘2后全部有进位,同时,我们也找不出乘2后总没有进位的偶数出来,全9的数肯定不合要求。
所以“首位移到末位不存在"
Jameszht 2002-04-20
  • 打赏
  • 举报
回复
songyangk(小草):楼上的,是把末位移到首位呀?!

上面有人要求求證一個類似的命題:我只不過給出我的答案而已。
“末位移到首位”已由gump阿甘完成了,並且算法也由濤哥給出了。
“首位移到末位不存在"上面是我的想法,謬誤之處請指正.
謝謝!

QQRN 2002-04-20
  • 打赏
  • 举报
回复
忘了写她给的答案:

mission accomplished:
这个数是:421052631578947368 把8移到首位,
就得出: 842105263157894736 凑巧是2倍.
QQRN 2002-04-20
  • 打赏
  • 举报
回复
结了这个帖子……
下面是那个MM写的……大家参考参考

好啊.其实很简单啊!^^

设yxxxxx....xxxxxz. 所以zyxxxxx....xxxxxx就是两倍啊. ^^

那z就应该等于2y或2y+1,而为了使位数不变y就只能取1,2,3,或4.

而原数n位数的值就应该是两倍数的n-1位数.(除了个位数).

用每一个去试的话,会发现1,2,3都是不可以的,因为算到第13位时就有无限循环.

结果只有y取8的时候可以吻合!^^
sippey 2002-04-19
  • 打赏
  • 举报
回复

(A3-070)求證:不存在這樣的整數,把它的首位數字移到末位之後,得到的數是原數的兩倍。




用类似阿甘的方法证出
wenw 2002-04-19
  • 打赏
  • 举报
回复
各位看官没有看到他们的答案有的是错的吗,要处理,你应该要想到这一点
因为自然数没有前导0,所以0不会是尾数,也不会是第一个数。
尾数移动到第一位后数要变大一倍,因此最后一位必须是第一位的两倍或两倍加一,所以第一位必须是1-4这四个数之一,而尾数必须为第一位的两倍或两倍加一,而且每一位都是前一位的两倍或两倍加一,不可能是更大的数。所以,这个算法以程序实现就是这样的。
Dim x(1100)
Dim i As Long, j As Long, k As Long
Dim s As Long
For i = 2 To 1000
For x(i) = 2 To 9
k = 0
For j = i - 1 To 1 Step -1
x(j) = x(j + 1) * 2 Mod 10 + k
If x(j + 1) * 2 >= 10 Then
k = 1
Else
k = 0
End If
Next
If x(i) = 2 * x(1) + k Then
For s = 1 To i
Me.Tag = Me.Tag & x(s)
Next
MsgBox Me.Tag
Me.Tag = ""
End If
Next
Next
第一个结果:105263157894736842
速度很快,只要你愿意,可算出更长的来。
wyarrant 2002-04-19
  • 打赏
  • 举报
回复
263157894736842105
5263157894736842
不是巧合吧


wyarrant 2002-04-19
  • 打赏
  • 举报
回复
好像有个规律
就是从各位算起每位乘2得到前一位的数字过10进一

QQRN 2002-04-19
  • 打赏
  • 举报
回复
哇……大家都很聪明呀……
还有没有别的算法?
没有的话我要公布那个MM的解法了哦……
wyarrant 2002-04-19
  • 打赏
  • 举报
回复
解方程
m
19x/y+2=10
x=5263157894736842
y=1
m=17
是不是用matlab解方程的话好一些?
wyarrant 2002-04-19
  • 打赏
  • 举报
回复
52631578947368421
*2
pl5th2001 2002-04-19
  • 打赏
  • 举报
回复
算到程序未响应
CoolCHEN 2002-04-19
  • 打赏
  • 举报
回复
有个问题,超过long的题目怎么做?
比如求两个50位数的积??
请教!
hcyhero 2002-04-19
  • 打赏
  • 举报
回复
for i=0 to j
for j=0 to i
pl5th2001 2002-04-19
  • 打赏
  • 举报
回复
10000000以内没有
pl5th2001 2002-04-19
  • 打赏
  • 举报
回复
程序我编好了,不过long好象不够用,正在算
dgz01 2002-04-19
  • 打赏
  • 举报
回复
GUMP聪明
wuwutao 2002-04-19
  • 打赏
  • 举报
回复
修正:
Dim A As Double
Dim X As Integer
Dim N As Integer
Dim maxN As Integer
Dim dC As Double
Dim nC As Long
maxN = 20 '假设最多算至20位数
For N = 1 To maxN Step 1
dC = (10 ^ N - 2) / 19
nC = CLng(dC)
If dC - nC = 0 Then
For X = 2 To 9 Step 1
A = X * nC
'If Len(A) = N Then
'此处不应该判断长度,直接判断是否符合
'If 2*(A*10+X)=x*10^N+A then
MsgBox "Number=" & A & X
End If
Next X
End If
Next N
加载更多回复(45)
提供基于TCP/IP网络的即时消息传送、消息广播、实时聊天、文件传输等功能。 具体列举如下: ? 支持多账号 ? 可以同时发送同一个消息给多人,通过输入这些人的号码列表或姓名列表 ? 可以同时发送一个消息给所有好友 ? 有权限的人可以向所有用户发送“消息广播”,便于消息的发布 ? 即使用户不在线,也能通过服务器发送离线消息 ? 提供消息、聊天的历史记录,方便对信息的查看和管理 ? 提供查看在线的人的功能 ? 提供按ID或姓名查找用户的功能,添加用户方便 ? 小窗口显示,不占用屏幕很大的空间, ? 支持热键调出后台的应用程序。 ? 应用程序运行后,在任务栏右边生成一个图标,单击弹出在线状态 菜单,双击显示应用程序窗口,右击弹出主菜单。 ? 支持隐身登陆,可以看到在线的朋友,朋友却不知道你上线了 ? 可以实时显示用户的状态和随时改变自己的状态 ? 提供了自动弹出消息 ? 好友上线通知 ? 好友下线更新 ? 有权限的人可以发系统广播(或在服务器上发) ? 查看好友信息 ? 按姓名或号码查找某人 ? 在好友列表中删除某人 ? 可以选择在某人的好友中删除自己 ? 更改个人信息 ? 系统设置 ? 给在线好友传文件 ? 消息管理器 ? 在程序中设定最大,最小窗口尺寸(宽度,高度) ? 主窗口总是浮在最上端 ? 速度快,占用资源少 论文简介 目录 第 1 章 概论 §1.1 课题的来源及意义 …………………………………………… 1 §1.2 网上寻呼的软件的现况……………………………………… 1 §1.3 面向对象方法与设计简介…………………………………… 2 §1.4 本章小结………………………………………………………… 3 第 2 章 网络通讯程序的设计原理和过程 §2.1 TCP/IP协议 …………………………………………………… 4 §2.2 客户/服务器程序的设计 …………………………………… 6 第 3 章 软件功能与界面需求…………………………………………… 9 第 4 章 概要设计和详细设计 §4.1总体设计概述……………………………………………………10 §4.2服务器数据库的设计 …………………………………………11 §4.3类设计的总体结构 ……………………………………………13 §4.4服务器端的常量定义 …………………………………………15 §4.5客户端的常量定义 ……………………………………………17 §4.6服务器端的底层通讯类的设计………………………………21 §4.7客户端的底层通讯类的设计…………………………………23 §4.8客户/服务器之间的通讯的数据类的设计 ………………25 §4.9发送数据的确认消息的编码方案 …………………………30 §4.10服务器端的分配用户帐号的策略…………………………31 §4.11 服务器的应用程序类CServerApp的设计 ……………31 §4.12 客户端的应用程序类CClientApp的设计 ……………33 §4.13服务器端检查用户是否仍然在线的算法 ………………34 §4.14服务器端处理用户请求的算法……………………………35 §4.15客户端处理服务器发送来数据的算法 …………………40 第 5 章 全文总结与工作展望 §5.1 全文总结…………………………………………………………42 §5.2 工作展望…………………………………………………………42 第 6 章 附录 §6.1 查错日志…………………………………………………………43 §6.2设计中遇到的问题 ……………………………………………46 参 考 文 献……………………………………………………………………47

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧