| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3174 人关注过本帖, 2 人收藏
标题:问题
只看楼主 加入收藏
yinlijun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-4-29
收藏(2)
 问题点数:0 回复次数:14 
问题
身份证号码之谜

这是发生在外国警察局中的一个故事,已知某人身份证号码扣除第一个英文字母后是9位数字,现在有一个人的身份证的号码中,前1位可以被1的平方整除,前2位可以被2的平方整除,前3位可以被3的平方整除……以此类推至前9位可以被9的平方整除。你可以帮他们找出这个人的身份证号码吗?例:123456789中,前1位是1;前2位是12,可以被2的平方4整除。

main()

{

long i=0,j,a[10];

int g,k,l;

loop: i++;

{

j=100000000;

for(g=1;g<10;g++)

{

a[g]=i/j;

j=j/10;

}

for(k=1;k<10;k++)

{

l=k*k;

if(a[k]%l!=0)

goto loop;

}

printf(“the id is %ld”,i);

if(i<1000000000)

goto loop;

}

}

有人说是死循环,但是在哪里呀。多谢指教

[此贴子已经被作者于2004-05-08 15:34:21编辑过]

搜索更多相关主题的帖子: 身份证号码 平方 整除 数字 故事 
2004-04-29 09:18
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 

好象是我说的吧,你最好编程时少用GOTO语句,你看你都跳到哪了!


我的主页 http://www.
2004-04-30 23:27
jerrybeing
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2004-4-28
收藏
得分:0 
老版上看到过这个贴子

2004-05-02 21:31
yinlijun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-4-29
收藏
得分:0 

还是不明白,虽然说是用了goto 编程不好,但是没有发现问题亚]


2004-05-08 15:38
yinlijun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-4-29
收藏
得分:0 
请大家,提出高见亚十分感谢

2004-05-10 18:22
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
我看也好像是死循环,你是跳过来跳过去,跳不完,没完没了的,够累的!

2004-05-11 05:33
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 
以下是引用flytosky在2004-05-11 14:42:18的发言:

老大,没答案的话,不成死循环拉,没结束条件!

前两位只能是 12或16 ,前三位 122或162,前四位122?或162? 但它们不能被16整除!就是说不可能存在这样的数,又没结束条件不成死循环拉!

个人观点!!

谁跟你说第一位为1的???


偶是一只想要飞却忘了咋飞的菜鸟
2004-05-14 14:59
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

我想问题应该出现在第一个goto上

if(a[k]%l!=0)

goto loop;

在if为真时程序跳回来进行第一个循环,里边的变量g,j,a[]进行重新赋值,但是结果和第一次是没有任何区别的,到goto时还是要回来,这样就造成了死循环


偶是一只想要飞却忘了咋飞的菜鸟
2004-05-14 15:10
flytosky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-5-10
收藏
得分:0 
我脑子坏拉,不好意识!!搞错拉。楼上说的是!!

嘿嘿
2004-05-14 21:59
yinlijun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-4-29
收藏
得分:0 
以下是引用zff_ff在2004-05-14 15:10:07的发言:

我想问题应该出现在第一个goto上

if(a[k]%l!=0)

goto loop;

在if为真时程序跳回来进行第一个循环,里边的变量g,j,a[]进行重新赋值,但是结果和第一次是没有任何区别的,到goto时还是要回来,这样就造成了死循环

但我在跳回loop后i++,i增加了,a[]的值相应的改变了,也就是我在测算下一个i值是否成立条件


2004-05-15 09:10
快速回复:问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019718 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved