竖式
2015-06-17 15:36
99 查看
题目描述
找出所有形如abc*dc(三位数乘以两位数)的算式,使得在完整的竖式中,
所有数字都属于一个特定的数字集合。
例如,当该数字集合为2357时,只有一个竖式满足条件,
该竖式中出现的所有数字都属于集合2357,该竖式为(*表示空格):
**775
X**33
-----
*2325
2325*
-----
25575
输入
输入包括多行数据,每行一个正整数,表示该数字集合
输出
对每行输入,输出一个整数,即满足条件的竖式个数,然后输出换行
样例输入
2357
样例输出
1
代码如下:
找出所有形如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); } }
相关文章推荐
- Xcode运行出错Installation Failed Invalid argument
- hdu 1566 Color the ball(线段树区间更新)
- java字符串分割split的使用
- jsp页面自定义标签
- 找工作_经验01
- Java (JVM) Memory Model and Garbage Collection Monitoring Tuning
- Win7旗舰版是不是SP1版本的查看方法
- 关于Object-C有关接口方面的应用
- 欢迎使用CSDN-markdown编辑器
- Ubuntu14.04安装openssh-server
- POJ 1581 A Contesting Decision
- solr5.0集成mmseg4j分词器
- Centos上安装samba配置后,windows登陆root没有写权限
- 能力定义和实现高精度数据
- csharp:Conversion Between DataTable and List
- 升级Exchange Server 2010 SP3警告问题
- mysql max_allowed_packet 查询和修改
- Android OOM全解析
- linux下mysql的root密码忘记解决方
- MySQL 分区