zoukankan      html  css  js  c++  java
  • 竖式问题

     1 /*
     2 竖式问题 输入一个特定的数字集合,计算并输出所有满足要求的竖式。要求是abc*de(一个三位数乘以一个二位数)的竖式中
     3 出现的所有数字均在集合中。输出时要个按照格式。 
     4 解题思路 首先读入数字集合,枚举每个三位数乘以每个二位数,如果满足条件输出并计数。 
     5 
     6 另外读书总结
     7     int cou=0;
     8     printf("%d %d %d
    ",cou++,cou++,cou++);//输出结果为2 1 0,编译原理something..  
     9 */
    10 #include<cstdio>
    11 #include<cstring>
    12 int ok(char *s,char *buf);
    13 
    14 int main()
    15 {
    16     char s[25],buf[50];
    17     int abc,de,d,e,x,y,z,t=1,cou;
    18     while(scanf("%s",s) != EOF){
    19         //puts(s);
    20         printf("<%d>
    ",t);
    21         cou=0;
    22         for(abc=100; abc<=999; abc++){
    23             for(de=10;de<=99;de++){
    24                 d=de/10;
    25                 e=de%10;
    26                 x=abc*e;
    27                 y=abc*d;
    28                 z=abc*de;
    29                 sprintf(buf,"%d%d%d%d",abc,de,x,y,z);//sprintf函数的使用 
    30                 if(ok(s,buf)){
    31                     cou++;
    32                     //格式控制 
    33                     printf("%5d
    X%4d
    -----
    %5d
    %4d
    -----
    %5d
    
    ",abc,de,x,y,z);
    34                 }
    35             }
    36         }
    37         printf("在该数字集合下总共有%d种结论
    ",cou);
    38         t++;
    39     } 
    40     return 0;    
    41 } 
    42 
    43 int ok(char *s,char *buf)
    44 {
    45     int i,l=strlen(buf);
    46     for(i=0;i<l;i++){
    47         if(strchr(s,buf[i]) == NULL)//strchr的使用 
    48             return 0;
    49     }
    50     return 1;
    51 }
  • 相关阅读:
    hdu 4521 小明系列问题——小明序列(线段树 or DP)
    hdu 1115 Lifting the Stone
    hdu 5476 Explore Track of Point(2015上海网络赛)
    Codeforces 527C Glass Carving
    hdu 4414 Finding crosses
    LA 5135 Mining Your Own Business
    uva 11324 The Largest Clique
    hdu 4288 Coder
    PowerShell随笔3 ---别名
    PowerShell随笔2---初始命令
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/8782343.html
Copyright © 2011-2022 走看看