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

    题目

    找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。

    输入数字集合(相邻数字之间没有空格),输出所有竖式。

    每个竖式前应有编号,之后应有一个空行。最后输出解的总数。

    具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但所写程序中应该输出空格,而非小数点)。

    样例输入:

    2357

    样例输出:

    <1>

     . . 7 7 5

    x . .  3 3

    _ _ _ _ _

    . 2 3 2 5

    23 2 5 .

    _ _ _ _ _

    25 5 7 5

    The number of solutions = 1

    分析

    尝试所有的abc和de,判断是否满足条件。

    伪代码如下:

    char s[20] ;
    int count = 0;
    scanf("%s",s) ;
    for(int abc=111;abc<=999;abc++)
    {
        for(int de=11;de<=99;de++)
        {
            if("abc*de是个合法的竖式")
            {
                printf("<%d>
    ",count) ;
                打印abc*de的竖式和其后的空行
                count++; 
            } 
        } 
    } 
    printf("The number of solutions = %d
    ",count);

    c实现

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int count=0;
        char s[20],buf[99];
        scanf("%s",s);
        //printf("%s
    ",s) ;  //仅记录输出字符串变量的打印方式 
        for(int abc=111;abc<=999;abc++)
        {
            for(int de=11;de<=99;de++)
            {
                int x=abc*(de%10),y=abc*(de/10),z=abc*de;
                sprintf(buf,"%d%d%d%d%d",abc,de,x,y,z);
                int ok=1;
                for(int i=0;i<=strlen(buf);i++){
                    //strchr表示在s中查找buf[i],即buf中每个字符都包含在s中 
                    if(strchr(s,buf[i])== NULL) ok=0;
                }
                // 若buf中每个字符都包含在s中 ,则为合法的竖式 
                if(ok)
                {
                    printf("<%d>
    ",++count);
                    printf("%5d
    X%4d
    -----
    %5d
    %4d
    -----
    %5d
    
    ",abc,de,x,y,z);
                }
            } 
        }
        printf("The number of solutions = %d
    ",count);
        return 0;
    }
    
    //竖式问题 

    效果

    示例1:输入2357

     示例2:输入2389

     示例3:输入1389

  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12913143.html
Copyright © 2011-2022 走看看