算法竞赛入门经典第二版 竖式问题 P42

Posted qingyuyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法竞赛入门经典第二版 竖式问题 P42相关的知识,希望对你有一定的参考价值。

 

#include<bits/stdc++.h>
using namespace std;
int inset(char *s,int num) { //判断数字是否在数字集中
    int len=strlen(s),i,tmp;
    while(num) {
        tmp=num%10;  //取末尾数字 
        for(i=0; i<len; i++) {
            if(s[i]-0==tmp)   //如果在里面,则跳出for循环 
                break;
        }
        if(i==len)//当i=len的时候,表示已经搜遍s,s里面不存在tmp的末尾数字,则不行 
            return 0;
        num=num/10;
    }
    return 1;
} 
int main() {
    int i,count=0;
    char s[10];
    scanf("%s",s);
    //printf("%s
",s);

    int abc,de,x,y,z;
    for(abc=111; abc<=999; abc++) {
        for(de=11; de<=99; de++) {
            x=abc*(de%10); //abc乘de的个位
            y=abc*(de/10);//abc乘de的十位
            z=abc*de;
            if(inset(s,abc)&&inset(s,de)&&inset(s,x)&&inset(s,y)&&inset(s,z)) {
                count++;
                printf("<%d>
", count);
                printf("%5d
X%4d
-----
%5d
%4d
-----
%5d

", abc, de, x, y, z);
            }
        }
    }
    return 0;
}

 

以上是关于算法竞赛入门经典第二版 竖式问题 P42的主要内容,如果未能解决你的问题,请参考以下文章

竖式问题

算法竞赛入门经典 第二版 1-3答案

《算法竞赛入门经典(第二版)》习题解答——第二章

算法竞赛入门经典(第二版)3-5谜题UVA277

算法竞赛入门经典第二版 第二章习题及思考题

算法竞赛入门经典(第二版)3-3数数字UVA1225