1066

您所在的位置:网站首页 31乘以30竖式 1066

1066

2024-06-11 16:46| 来源: 网络整理| 查看: 265

题目描述 找出所有形如 abc∗de (三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出。 输入 输入包含多组测试用例。 对于每组测试用例,输入一个字符串s,代表数字集合。 输出 输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。(竖式按照3位数的大小从小到大输出~) 样例输入 2357 样例输出

775 X 33 ----- 2325 2325 ----- 25575 The number of solutions: 1

题解代码如下

#include using namespace std; char s[20]; ///存储字符串 bool st[10]; ///标记访问数组 bool judge(int x){ while(x){ if(!st[x%10]) return false; x /= 10; } return true; } int main(){ while(scanf("%s",s) != EOF){ memset(st,0,sizeof st); int len = strlen(s),id = 0; for(int i=0;i ///枚举两位数 int tmp1 = x * (y%10); ///三位数乘以两位数的个位 int tmp2 = x * (y/10); ///三位数乘以两位数的十位 int tmp3 = x * y; ///存储结果 if(judge(x)&&judge(y)&&judge(tmp1)&&judge(tmp2)&&judge(tmp3)){ printf("\n",++id); printf("%5d\nX%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n",x,y,tmp1,tmp2,tmp3); } } } printf("The number of solutions: %d\n",1); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3