本文主要是介绍我的ACM之路——竖式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题 C: 竖式
时间限制: 1 Sec 内存限制: 128 MB提交: 1278 解决: 253
[ 提交][ 状态][ 讨论版]
题目描述
找出所有形如abc*dc(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。
例如,当该数字集合为2357时,只有一个竖式满足条件,该竖式中出现的所有数字都属于集合2357,该竖式为(*表示空格):
**775
X**33
-----
*2325
2325*
-----
25575
输入
输入包括多行数据,每行一个正整数,表示该数字集合
输出
对每行输入,输出一个整数,即满足条件的竖式个数,然后输出换行
样例输入
2357
样例输出
1
#include<stdio.h>
#include<string.h>
char s[20];
int z,x,y;
int abc,de;
char str[100];
int main()
{ while(scanf("%s",str)!=EOF) { int count=0; int flag; for(abc=100;abc<=999;abc++) { for(de=10;de<=99;de++) { x=abc*(de%10); y=abc*(de/10); z=abc*de; sprintf(s,"%d%d%d%d%d",abc,de,x,y,z); flag=1; for(int i=0;i<strlen(s);i++) { if(strchr(str,s[i])==NULL) flag=0; } if(flag==1) count++; } } printf("%d\n",count); }
}
这篇关于我的ACM之路——竖式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!