是佳佳呀 发表于 2021-1-18 15:37:16

c语言题目

有如下的加法算式。其中每个汉字代表一个数字。
(如果存在对齐问题,可参见【图1.png】)

               年
             大年
         过大年
         能过大年
       怎能过大年
   我怎能过大年
+让我怎能过大年
------------------
   能能能能能能能

请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:"3125697"。当然,这个不是正确的答案。

注意:只填写一个整数,不要填写任何多余的内容。



知足可以 发表于 2021-1-18 15:37:17

#include <stdio.h>
int main()
{
        printf("0000000\n");
        int a,b,c,d,e,f,g;
        int n1,n2,n3,n4;
        for(g=0;g<=9;g++)//年
        {
                for(d=0;d<=9;d++)//能
                {
                        n1=(g*7)%10;//求出各位数
                        //printf("g=%d d=%d n1=%d\n",g,d,n1);
                        if(d==n1)
                        {
                                for(f=0;f<=9;f++)//大
                                {
                                        n2=(f*10*6+g*7)%100-n1;//求出十位数
                                        //printf("f=%d n2=%d\n",f,n2);
                                        if(d*10==n2)
                                        {
                                                for(e=0;e<=9;e++)//过
                                                {
                                                        n3=(e*100*5+f*10*6+g*7)%1000-n2-n1;//求出百位数
                                                        //printf("e=%d n3=%d\n",e,n3);
                                                        if(d*100==n3)
                                                        {
                                                                n4=(d*1000*4+e*100*5+f*10*6+g*7)%10000-n3-n2-n1;//求出千位数
                                                                //printf("n4=%d\n",n4);
                                                                if(d*1000==n4)//后面循环的次数少了 可以不求更高的位数 直接遍历
                                                                {
                                                                        for(a=0;a<=9;a++)//让
                                                                        {
                                                                                for(b=0;b<=9;b++)//我
                                                                                {
                                                                                        for(c=0;c<=9;c++)//怎
                                                                                        {
                                                                                                if(d!=0)
                                                                                                {
                                                                                               
                                                                                                        int sum1,sum2;
                                                                                                        sum1=7*g+6*f*10+5*e*100+4*d*1000+3*c*10000+2*b*100000+a*1000000;
                                                                                                        sum2=d*1000000+d*100000+d*10000+d*1000+d*100+d*10+d;
                                                                                                        //printf("sum1=%d\n",sum1);
                                                                                                        //printf("sum2=%d\n",sum2);
                                                                                                        if(sum1==sum2)
                                                                                                        {
                                                                                                                printf("%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g);
                                                                                                        }
                                                                                                }
                                                                                        }
                                                                                }
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }               
        }               
}

知足可以 发表于 2021-1-24 16:38:49

知足可以 发表于 2021-1-24 16:38
#include
int main()
{


本人菜鸡只会用比较麻烦的方法

2736946915 发表于 2021-1-24 20:49:05

所以,你这啥意思?

知足可以 发表于 2021-1-27 15:30:34

2736946915 发表于 2021-1-24 20:49
所以,你这啥意思?

其实就是让我怎能过大年每个字都代表一个数字吧

2736946915 发表于 2021-1-27 20:50:12

用string.replace()替换不就好了?
页: [1]
查看完整版本: c语言题目