| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1333 人关注过本帖
标题:一个小白问题!
只看楼主 加入收藏
wushaojun321
Rank: 2
等 级:论坛游民
帖 子:24
专家分:17
注 册:2011-8-6
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:29 
一个小白问题!



         怎么把这个身份证的所有可能求出来??  求代码和解析!
           eg: 610527199****52713
       大虾指教!
搜索更多相关主题的帖子: 身份证 
2011-08-13 13:08
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:5 
程序代码:
#include<stdio.h>

int main(int argc,char *argv[])
{
    int a[18]={6,1,0,5,2,7,1,9,9,0,0,0,0,5,2,7,1,3};
    int i,j,k,l,t;

    for(i=0;i<=9;i++)
    {
        a[9]=i;
        for(j=0;j<=9;j++)
        {
            a[10]=j;
            for(k=0;k<=9;k++)
            {
                a[11]=k;
                for(l=0;l<=9;l++)
                {
                   a[12]=l;
                   for(t=0;t<18;t++)
                       printf("%d",a[t]);
                   printf("  ");
                }
            }
        }
    }
    return 0;
}
2011-08-13 14:01
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
本来用数据求可以 但是数据太大 呵呵会丢数据
2011-08-13 14:02
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
    0到9每个位上依次循环就OK。。。
2011-08-13 14:27
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
int m[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},i,sum=0,mm,n,p,q;
char jiao[]="10X98765432",shen[100];
for(mm=0;mm<10;mm++)
for(n=0;n<10;n++)
for(p=0;p<10;p++)
for(q=0;q<10;q++)
{sum=0;
if(n*10+p<13&&q*10+5<31&&(q*10+5)&&(n*10+p))
{sprintf(shen,"610527199%d%d%d%d52713",mm,n,p,q);
for(i=0;i<17;i++)
sum+=(shen[i]-48)*m[i];
if(jiao[sum%11]==shen[17])
puts(shen);
}
}

[ 本帖最后由 hjywyj 于 2011-8-13 15:23 编辑 ]
2011-08-13 15:11
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>


int main()
{
    for(int i = 0;i<10000;i++)
    {
        if(i>999)
            printf("610527199%d52713\n",i);
        else if(i>99 && i<1000)
            printf("6105271990%d52713\n",i);
        else if(i>9 && i<100)
            printf("61052719900%d52713\n",i);
        else
            printf("610527199000%d52713\n",i);
    }
    return 0;
}

                                         
===========深入<----------------->浅出============
2011-08-13 15:14
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:10 
回复 6楼 laoyang103
好像不是这样的
2011-08-13 15:15
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
回复 7楼 hjywyj
求教

                                         
===========深入<----------------->浅出============
2011-08-13 15:18
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
这个有个校验码,只用三层for循环求出的不一定是正确的。
https://bbs.bccn.net/viewthread.php?tid=232562&highlight=%C9%ED%B7%DD%D6%A4
2011-08-13 15:19
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
学习啦 忘记了 这是身份证  有很多字段组成

                                         
===========深入<----------------->浅出============
2011-08-13 15:22
快速回复:一个小白问题!
数据加载中...
 
   



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

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