zoukankan      html  css  js  c++  java
  • C语言 · 猜算式 · 乘法竖式

    题目:猜算式

    你一定还记得小学学习过的乘法计算过程,比如:

       273

    x   15

    ------  

    1365  

    273

    ------  

    4095  

    请你观察如下的乘法算式

         ***

    x   ***

    --------    

         ***   

       ***  

    ***

    --------  

    *****  

    星号代表某位数字,注意这些星号中,0~9中的每个数字都恰好用了2次。 (如因字体而产生对齐问题,请参看图p1.jpg)

    条件:每个数字要出现两次、公式要成立、结果是五位数。

    请写出这个式子最终计算的结果,就是那个5位数是多少?

     1 #include<stdio.h>
     2 #include<string.h>
     3 int jinwei(int i,int *f){
     4     while(i>0){
     5         if(f[i%10]==2){
     6             return 0;
     7         }
     8         f[i%10]++;
     9         i/=10;
    10     }
    11     return 1;
    12 }
    13 bool check(int i,int j,int a,int b,int c,int d){
    14     int x[20]={i/100,(i/10)%10,i%10,j/100,(j/10)%10,j%10,a/100,(a/10)%10,a%10,b/100,(b/10)%10,b%10,c/100,(c/10)%10,c%10,d/10000,(d/1000)%10,(d/100)%10,(d/10)%10,d%10};
    15     int y[20]={0};
    16     for(int h=0;h<20;h++){
    17         y[x[h]]++;
    18     }
    19     for(int h=0;h<20;h++){
    20         if(y[h]!=2){
    21             return false;
    22         }else{
    23             return true;
    24         }
    25     }
    26 }
    27 int main(){
    28     int i,j;
    29     for(i=100;i<=999;i++){
    30         for(j=100;j<=999;j++){
    31             int f[10]={0};//数组初始化 
    32             int a = i*(j%10);//乘个位得 
    33             int b = i*((j/10)%10);//乘十位得
    34             int c = i*(j/100);//乘百位得
    35             
    36             if(a>=1000||b>=1000||c>=1000||i*j>=100000||a<100||b<100)
    37                 continue;
    38             
    39             if(!check(i,j,a,b,c,i*j))
    40                 continue;
    41 
    42             if(i<j && jinwei(i,f)&&jinwei(j,f)&&jinwei(i*j,f)&&jinwei(a,f)&&jinwei(b,f))
    43                 printf("%d %d %d %d %d %d
    ",i,j,a,b,c,i*j);
    44         }
    45     }
    46     return 0;
    47 }
  • 相关阅读:
    PL/SQL Developer 和 instantclient客户端安装配置(图文)
    VirtualBox + Centos 使用NAT + Host-Only 方式联网
    zookeeper的安装
    Socket编程基础篇
    WebSocket教程(二)
    WebSocket教程(一)
    Js判断浏览器类型
    JVM内存模型
    js 正则去除指定的单词
    Java线上应用故障排查之一:高CPU占用
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6682838.html
Copyright © 2011-2022 走看看