// KSWPSSN.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void GetByte(char * dest, char * src, unsigned pos)
{
*dest = src[pos];
}
void SetByte(char * dest, unsigned pos, char value)
{
dest[pos] = value;
}
int valsn(char * lString2, char * lString3, char * lString4)
{
char lString6[20];
char lString7[20];
char lNumber5;
char lNumber2;
char lNumber3;
char lNumber6;
char lNumber4;
char lNumber7;
GetByte(&lNumber5, lString4, 3);
lNumber5 = 105 - lNumber5;
SetByte(lString6, 7, lNumber5);
GetByte(&lNumber5, lString3, 2);
lNumber5 = 105 - lNumber5;
SetByte(lString6, 6, lNumber5);
GetByte(&lNumber5, lString6, 6);
lNumber5 = lNumber5 - 48;
lNumber2 = 7 * lNumber5;
lNumber2 = lNumber2 % 10;
GetByte(&lNumber5, lString4, 1);
lNumber3 = lNumber5 - 48;
lNumber5 = lNumber3 < lNumber2;
if (lNumber5 != 0)
lNumber3 = lNumber3 + 10;
lNumber5 = lNumber3 - lNumber2;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 5, lNumber5);
GetByte(&lNumber5, lString6, 6);
lNumber5 = lNumber5 - 48;
lNumber2 = 3 * lNumber5;
lNumber2 = lNumber2 % 10;
GetByte(&lNumber5, lString4, 4);
lNumber3 = lNumber5 - 48;
lNumber5 = lNumber3 < lNumber2;
if (lNumber5 != 0)
lNumber3 = lNumber3 + 10;
lNumber5 = lNumber3 - lNumber2;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 4, lNumber5);
GetByte(&lNumber5, lString3, 0);
lNumber5 = lNumber5 - 48;
GetByte(&lNumber6, lString6, 7);
lNumber6 = lNumber6 - 48;
lNumber2 = lNumber5 + lNumber6;
lNumber5 = lNumber2 % 10;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 3, lNumber5);
GetByte(&lNumber5, lString6, 7);
lNumber5 = lNumber5 - 48;
lNumber2 = 2 * lNumber5;
lNumber2 = lNumber2 % 10;
GetByte(&lNumber5, lString3, 4);
lNumber3 = lNumber5 - 48;
lNumber5 = lNumber3 < lNumber2;
if (lNumber5 != 0)
lNumber3 = lNumber3 + 10;
lNumber5 = lNumber3 - lNumber2;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 2, lNumber5);
GetByte(&lNumber5, lString6, 7);
lNumber5 = lNumber5 - 48;
lNumber2 = 7 * lNumber5;
lNumber2 = lNumber2 % 10;
GetByte(&lNumber5, lString3, 1);
lNumber3 = lNumber5 - 48;
lNumber5 = lNumber3 < lNumber2;
if (lNumber5 != 0)
lNumber3 = lNumber3 + 10;
lNumber5 = lNumber3 - lNumber2;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 1, lNumber5);
GetByte(&lNumber5, lString6, 7);
lNumber5 = lNumber5 - 48;
lNumber2 = 3 * lNumber5;
lNumber2 = lNumber2 % 10;
GetByte(&lNumber5, lString4, 0);
lNumber3 = lNumber5 - 48;
lNumber5 = lNumber3 < lNumber2;
if (lNumber5 != 0)
lNumber3 = lNumber3 + 10;
lNumber5 = lNumber3 - lNumber2;
lNumber5 = 48 + lNumber5;
SetByte(lString6, 0, lNumber5);
lNumber4 = 0;
lNumber2 = 0;
while (lNumber2 <= 7)
{
GetByte(&lNumber5, lString6, lNumber2);
lNumber5 = lNumber5 - 48;
lNumber4 = lNumber4 + lNumber5;
lNumber2 = lNumber2 + 1;
}
GetByte(&lNumber5, lString2, 3);
lNumber5 = lNumber5 - 48;
lNumber4 = lNumber4 + lNumber5;
GetByte(&lNumber5, lString2, 4);
lNumber5 = lNumber5 - 48;
lNumber4 = lNumber4 + lNumber5;
lNumber4 = lNumber4 % 100;
lNumber5 = lNumber4 / 10;
lNumber5 = lNumber5 + 48;
SetByte(lString7, 0, lNumber5);
lNumber5 = lNumber4 % 10;
lNumber5 = lNumber5 + 48;
SetByte(lString7, 1, lNumber5);
GetByte(&lNumber5, lString7, 0);
GetByte(&lNumber6, lString3, 3);
lNumber5 = lNumber5 != lNumber6;
GetByte(&lNumber6, lString7, 1);
GetByte(&lNumber7, lString4, 2);
lNumber6 = lNumber6 != lNumber7;
lNumber5 = lNumber5 || lNumber6;
return lNumber5 == 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
char s1[6] = "KSW00";
char s2[6] = "00000";
char s3[6] = "00000";
srand((unsigned)time(NULL));
for (int i = 0; i < 100; i++)
{
int se = rand() % 100000;
s2[0] = se / 10000 % 10 + '0';
s2[1] = se / 1000 % 10 + '0';
s2[2] = se / 100 % 10 + '0';
s2[3] = se / 10 % 10 + '0';
s2[4] = se % 10 + '0';
int sta = 0;
while (sta < 100000)
{
s3[0] = sta / 10000 % 10 + '0';
s3[1] = sta / 1000 % 10 + '0';
s3[2] = sta / 100 % 10 + '0';
s3[3] = sta / 10 % 10 + '0';
s3[4] = sta % 10 + '0';
int result = valsn(s1, s2, s3);
if (result)
{
printf("%s-%s-%s\n", s1, s2, s3);
break;
}
sta++;
}
}
system("pause");
return 0;
}
一次能生成100個

KSW00-06020-00297
KSW00-03137-00062
KSW00-01503-08892
KSW00-12126-00164
KSW00-21127-00264
KSW00-08717-04766
KSW00-17053-00010
KSW00-16842-00010
KSW00-25757-00024
KSW00-18821-00099
KSW00-32410-00595
KSW00-05953-03019
KSW00-04154-00014
KSW00-19343-00001
KSW00-05949-00016
KSW00-02803-00993
KSW00-15924-00000
KSW00-07031-00093
KSW00-30727-00098
KSW00-05921-00044
KSW00-27353-00052
KSW00-08818-07753
KSW00-27835-00005
KSW00-27330-00095
KSW00-20449-00004
KSW00-21720-00095
KSW00-14368-31017
KSW00-21704-04996
KSW00-07210-00591
KSW00-06718-04666
KSW00-04229-00161
KSW00-21655-10008
KSW00-27232-00002
KSW00-16121-00094
KSW00-02943-00005
KSW00-18940-00021
KSW00-00224-00099
KSW00-29013-33687
KSW00-20045-00074
KSW00-03526-00067
KSW00-06756-01005
KSW00-13166-45043
KSW00-15726-00066
KSW00-02119-06964
KSW00-29852-04022
KSW00-29360-51037
KSW00-29224-00371
KSW00-32211-00491
KSW00-28626-00819
KSW00-32734-00029
KSW00-23412-00795
KSW00-30526-00097
KSW00-21420-00092
KSW00-11761-73035
KSW00-21701-04696
KSW00-18314-02978
KSW00-20936-00002
KSW00-29224-00371
KSW00-12247-00003
KSW00-18741-00018
Press any key to continue . . .
拿一個出來試試看,果然可以用
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254129.html
標籤:新手樂園
