龙空技术网

趣味数学与编程|简单代码找找神奇数字142857的规律

小智雅汇 1771

前言:

现时小伙伴们对“142857找规律”都比较重视,咱们都想要学习一些“142857找规律”的相关资讯。那么小编同时在网摘上网罗了一些对于“142857找规律””的相关知识,希望朋友们能喜欢,咱们一起来了解一下吧!

先直接看代码运行的结果:

i i*142857 数字和 其它规律

1 142857 27 142857的不同组合

2 285714 27 142857的不同组合

3 428571 27 142857的不同组合

4 571428 27 142857的不同组合

5 714285 27 142857的不同组合

6 857142 27 142857的不同组合

7 999999 54 数字全是9

8 1142856 27 首尾数字相加等于缺少的数字

9 1285713 27 首尾数字相加等于缺少的数字

10 1428570 27 首尾数字相加等于缺少的数字

11 1571427 27 首尾数字相加等于缺少的数字

12 1714284 27 首尾数字相加等于缺少的数字

13 1857141 27 首尾数字相加等于缺少的数字

14 1999998 54 首尾数字相加是9,其它数字也是9

15 2142855 27 首尾数字相加等于缺少的数字

16 2285712 27 首尾数字相加等于缺少的数字

17 2428569 36 首尾数字相加等于缺少的数字之一,还可能少7

18 2571426 27 首尾数字相加等于缺少的数字

19 2714283 27 首尾数字相加等于缺少的数字

20 2857140 27 首尾数字相加等于缺少的数字

21 2999997 54 首尾数字相加是9,其它数字也是9

22 3142854 27 首尾数字相加等于缺少的数字

23 3285711 27 首尾数字相加等于缺少的数字

24 3428568 36 首尾数字相加等于缺少的数字之一,还可能少7

25 3571425 27 首尾数字相加等于缺少的数字

26 3714282 27 首尾数字相加等于缺少的数字

27 3857139 36 首尾数字相加等于缺少的数字之一,还可能少7

28 3999996 54 首尾数字相加是9,其它数字也是9

29 4142853 27 首尾数字相加等于缺少的数字

30 4285710 27 首尾数字相加等于缺少的数字

31 4428567 36 首尾数字相加等于缺少的数字之一,还可能少7

32 4571424 27 首尾数字相加等于缺少的数字

33 4714281 27 首尾数字相加等于缺少的数字

34 4857138 36 首尾数字相加等于缺少的数字之一,还可能少7

35 4999995 54 首尾数字相加是9,其它数字也是9

36 5142852 27 首尾数字相加等于缺少的数字

37 5285709 36 首尾数字相加等于缺少的数字之一,还可能少7

38 5428566 36 首尾数字相加等于缺少的数字之一,还可能少7

39 5571423 27 首尾数字相加等于缺少的数字

40 5714280 27 首尾数字相加等于缺少的数字

41 5857137 36 首尾数字相加等于缺少的数字之一,还可能少7

42 5999994 54 首尾数字相加是9,其它数字也是9

43 6142851 27 首尾数字相加等于缺少的数字

44 6285708 36 首尾数字相加等于缺少的数字之一,还可能少7

142857 * 142857 = 20408122449

前5位 = 20408

后6位 = 122449

122449+20408=142857

code:

#if 1#include <stdio.h>int numLen(int n){    int len = 0;    while(n/=10)        len++;    return len+1;}int DigitSum(int n){    int sum = 0;    int t = numLen(n);    for(int i=0;i<t;i++)    {        sum += n%10;        n /= 10;    }    return sum;}void numCombi(){    int mn = 142857;    double mul = 1.0*mn*mn;    printf("%d * %d = %.0f\n",mn,mn,mul);    int f5 = mul / 1000000;    printf("前5位 =  %d\n",f5);    int r6 = mul - f5*1000000;    printf("后6位 = %d\n",r6);    printf("%d+%d=%.0lf",r6,f5,mn);}void magicNum(){    int mn = 142857;    printf("i\ti*%d 数字和 其它规律\n",mn,mn);    for(int i=1; i<45; i++)    {        int mi = mn*i;        int ds = DigitSum(mi);        if(i<7)            printf("%d\t%d\t%d %d的不同组合\n ",i,mi,ds,mn);        else if(i==7)            printf("%d\t%d\t%d 数字全是9\n ",i,mi,ds);         else if(i<17)        {            if(i%7 == 0)                printf("%d\t%d\t%d 首尾数字相加是9,其它数字也是9\n ",i,mi,ds);            else                printf("%d\t%d\t%d 首尾数字相加等于缺少的数字\n ",i,mi,ds);        }        else        {            if(i%7 == 0)                printf("%d\t%d\t%d 首尾数字相加是9,其它数字也是9\n ",i,mi,ds);            else                printf("%d\t%d\t%d\n ",i,mi,ds);        }    }}int main(){    magicNum();    numCombi();    getchar();    return 0;}#else#include <stdio.h>int numLen(int n){    int len = 0;    while(n/=10)        len++;    return len+1;}int DigitSum(int n){    int sum = 0;    int t = numLen(n);    for(int i=0;i<t;i++)    {        sum += n%10;        n /= 10;    }    return sum;}void numCombi(){    int mn = 142857;    double mul = 1.0*mn*mn;    printf("%d * %d = %.0f\n",mn,mn,mul);    int f5 = mul / 1000000;    printf("前5位 =  %d\n",f5);    int r6 = mul - f5*1000000;    printf("后6位 = %d\n",r6);    printf("%d+%d=%.0lf",r6,f5,mul);}void magicNum(){    int mn = 142857;    printf("i\ti*%d 数字和 其它规律\n",mn,mn);    for(int i=1; i<45; i++)    {        int mi = mn*i;        int ds = DigitSum(mi);        if(i<7)            printf("%d\t%d\t%d %d的不同组合\n ",i,mi,ds,mn);        else if(i==7)            printf("%d\t%d\t%d 数字全是9\n ",i,mi,ds);        else        {            if(i%7 == 0)                printf("%d\t%d\t%d 首尾数字相加是9,其它数字也是9\n ",i,mi,ds);            if(ds == 27)                printf("%d\t%d\t%d 首尾数字相加等于缺少的数字\n ",i,mi,ds);            if(ds == 36)                printf("%d\t%d\t%d 首尾数字相加等于缺少的数字之一,还可能少7\n ",i,mi,ds);        }    }}int main(){    magicNum();    numCombi();    getchar();    return 0;}#endif

-End-

标签: #142857找规律 #142857x2找规律