栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2021-10-08

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-08

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述:(1002排列式)
7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次
  输出所有这样的不同的式子(乘数交换被认为是相同的式子)
  结果小的先输出;结果相同的,较小的乘数较小的先输出。

输入描述:

每一行输出一个式子,式子中的等号前后空格、乘号(用字母x代表)前后空格较小的乘数写在前面。

运用:

C++头文件中包含next_permutation(iteration_first,iteration_last)可以求下一个全排列,返回bool类型值;prev_permutation(iteration_first,iteration_last)可以求上一个全排列,返回bool类型值。

解析:题目要求,1~9每个数字正好出现一次,则结果为四位数的满足条件,四位数可以是一位数乘以四位数,也可以是两位数乘以三位数,因此有两种情况。

代码如下:

#include
#include     //包含next_permutation(iteration_first,iteration_last)
                       //可以求下一个全排列,返回bool类型值
using namespace std;
int main()
{
    int a[9]={1,2,3,4,5,6,7,8,9};
    do
    {
      int b,c,d;                      //1.四位数=一位数*四位数
        b=a[0]*1000+a[1]*100+a[2]*10+a[3]*1;
        c=a[4];
        d=a[5]*1000+a[6]*100+a[7]*10+a[8];
        if (b==c*d)
            cout< 

运行结果如下:

4396 = 28 x 157

5346 = 18 x 297

5346 = 27 x 198

5796 = 12 x 483

5796 = 42 x 138

6952 = 4 x 1738

7254 = 39 x 186

7632 = 48 x 159

7852 = 4 x 1963

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号