您的位置:首页 > 其它

竖式

2015-06-17 15:36 99 查看
题目描述

找出所有形如abc*dc(三位数乘以两位数)的算式,使得在完整的竖式中,

所有数字都属于一个特定的数字集合。

例如,当该数字集合为2357时,只有一个竖式满足条件,

该竖式中出现的所有数字都属于集合2357,该竖式为(*表示空格):

**775

X**33

-----

*2325

2325*

-----

25575

输入

输入包括多行数据,每行一个正整数,表示该数字集合

输出

对每行输入,输出一个整数,即满足条件的竖式个数,然后输出换行

样例输入

2357

样例输出

1

代码如下:

#include<stdio.h>
#include<string.h>
char x[20];
int c,c1,c2;
int abc,de;
char str[100];
int isok()
{
int flag;
sprintf(x,"%d%d%d%d%d",abc,de,c1,c2,c);
flag=1;
for(int i=0;i<strlen(x);i++)
{
if(strchr(str,x[i])==NULL) flag=0;
}
if(flag==1) return 1;
else return 0;
}
int main()
{

while(scanf("%s",str)!=EOF)
{
int k=0;
int flag;
for(abc=100;abc<=999;abc++)
{
for(de=10;de<=99;de++)
{
c1=abc*(de%10);
c2=abc*(de/10);
c=abc*de;
if(isok()) k++;
}
}
printf("%d\n",k);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: