填写乘法算式

来源:互联网 发布:js event target属性 编辑:程序博客网 时间:2024/04/29 08:33

观察下面的算式:

* * × * * = * * *

它表示:两个两位数字相乘,结果是3位数。其中的星号(*)代表任意的数字,可以相同,也可以不同,只要不是在首位的就可以是0。当然,满足这个要求的算式很多,但我们还有如下的要求:

所有星号所代表的数字全都是奇数。满足这个要求的算式就不多了。

比如:13 x 15 = 195

题目的任务是:编写程序,找到所有可能的情况。
输入
输出
输出的结果中,每个情况占用1行,不需要考虑不同情况如何排序问题。每行的格式如:
13 x 15 = 195
其中乘号用“x”表示。

 

#include <iostream>using namespace std;bool jishu(int n){    int a=n/100;    int b=n/10%10;    int c=n%10;    if(a%2==0||b%2==0||c%2==0)        return false;    return true;}int main(){    for(int a=1; a<=9; a+=2)        for(int b=1; b<=9; b+=2)            for(int c=1; c<=9; c+=2)                for(int d=1; d<=9; d+=2)                    if((a*10+b)*(c*10+d)>=100&&(a*10+b)*(c*10+d)<=999&&jishu((a*10+b)*(c*10+d)))                        cout<<a*10+b<<" X "<<c*10+d<<" = "<<(a*10+b)*(c*10+d)<<endl;    return 0;}


 

0 0
原创粉丝点击