zoukankan      html  css  js  c++  java
  • 蓝桥杯-猜算式

                         猜算式
    看下面的算式:

    □□ x □□ = □□ x □□□

    它表示:两个两位数相乘等于一个两位数乘以一个三位数。

    如果没有限定条件,这样的例子很多。

    但目前的限定是:这9个方块,表示1~9的9个数字,不包含0。
    该算式中1至9的每个数字出现且只出现一次!

    比如:
    46 x 79 = 23 x 158
    54 x 69 = 27 x 138
    54 x 93 = 27 x 186
    .....

    请编程,输出所有可能的情况!

    注意:
    左边的两个乘数交换算同一方案,不要重复输出!
    不同方案的输出顺序不重要

     1 #include<cstdio>
     2 #include<string.h>
     3 
     4 int vis[10000];
     5 
     6 int main()
     7 {
     8     int a,b,c,d,e,f;
     9     int m,n,p,q,x,y,z;
    10     memset(vis,0,sizeof(vis));
    11     for(a=1;a<=9;a++)
    12     {
    13         vis[a] = 1;
    14         for(b=1;b<=9;b++)
    15         {
    16             if(vis[b])
    17                 continue;
    18             vis[b]=1;
    19             for(c=1;c<=9;c++)
    20             {
    21                 if(vis[c])
    22                     continue;
    23                 vis[c]=1;
    24                 for(d=1;d<=9;d++)
    25                 {
    26                     if(vis[d])
    27                         continue;
    28                     vis[d]=1;
    29                     for(e=1;e<=9;e++)
    30                     {
    31                         if(vis[e])
    32                             continue;
    33                         vis[e]=1;
    34                         for(f=1;f<=9;f++)
    35                         {
    36                             if(vis[f])
    37                                 continue;
    38                             vis[f]=1;
    39                             m=a*10+b;
    40                             n=c*10+d;
    41                             p=e*10+f;
    42                             if(m*n%p==0)
    43                             {    
    44                                 q=m*n/p;
    45                                 x=q%10;
    46                                 y=(q/10)%10;
    47                                 z=q/100;
    48                                 if(!x||!y||!z||x==y||y==z||x==z||vis[x]||vis[y]||vis[z])
    49                                 {
    50                                     vis[f]=0;
    51                                     continue;
    52                                 }
    53                                 else if(vis[m*n])//左边的两个乘数交换算同一方案,不要重复输出
    54                                 {
    55                                     vis[f]=0;
    56                                     continue;
    57                                 }
    58                                 else
    59                                 {
    60                                     vis[m*n]=1;
    61                                     printf("%d x %d = %d x %d
    ",m,n,p,q);
    62                                 }
    63                                 
    64                             }
    65                             else
    66                             {
    67                                 vis[f]=0;
    68                                 continue;
    69                             }
    70                             vis[f]=0;
    71                         }//f
    72                         vis[e]=0;//因为e又要开始循环,所以都置成0
    73                         vis[f]=0;
    74                     }//e
    75                     vis[d]=0;
    76                     vis[e]=0;
    77                     vis[f]=0;
    78                 }//d
    79                 vis[c]=0;
    80                 vis[d]=0;
    81                 vis[e]=0;
    82                 vis[f]=0;
    83             }//c
    84             vis[b]=0;
    85             vis[c]=0;
    86             vis[d]=0;
    87             vis[e]=0;
    88             vis[f]=0;
    89         }//b
    90         vis[a]=0;
    91         vis[b]=0;
    92         vis[c]=0;
    93         vis[d]=0;
    94         vis[e]=0;
    95         vis[f]=0;
    96     }//a
    97     return 0;
    98 }
  • 相关阅读:
    springboot启动只显示图标不报错
    tmux常用
    ubuntu+anaconda+mxnet环境配置
    OpenCV学习笔记(二)
    c++基础
    c++算法实现(一)
    pytorch使用不完全文档
    ubuntu上传到百度网盘
    pickel加速caffe读图
    caffe常用
  • 原文地址:https://www.cnblogs.com/youdiankun/p/3612882.html
Copyright © 2011-2022 走看看