ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

算式900

2022-02-01 21:34:44  阅读:236  来源: 互联网

标签:10 900 算式 d% int 参数 include


 题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明的作业本上有道思考题:

看下面的算式:

  (□□□□-□□□□)*□□=900

其中的小方块代表 00 ~ 99 的数字,这 1010 个方块刚好包含了 00 ~ 99 中的所有数字。 注意:00 不能作为某个数字的首位。

小明经过几天的努力,终于做出了答案!如下:

(5012-4987)*36=900

用计算机搜索后,发现还有另外一个解,本题的任务就是:请你算出这另外的一个解。

注意:输出格式需要与示例严格一致; 括号及运算符号不要用中文输入法; 整个算式中不能包含空格。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码 

#include<algorithm>
#include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<queue>
#include<vector>
#include<climits>

 using namespace std;
/*argc是命令行总的参数个数  
argv[]为保存命令行参数的字符串指针,其中第0个参数是程序的全名,以后的参数为命令行后面跟的用户输入的参数,argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数argc。数组元素初值由系统自动赋予。*/
int main(int argc ,const char *argv[])
{
    int a[]={0,1,2,3,4,5,6,7,8,9};
    do{
        if(a[0]==0||a[4]==0||a[8]==0)
            continue;
        int x1=a[0]*1000+a[1]*100+a[2]*10+a[3];
        int x2=a[4]*1000+a[5]*100+a[6]*10+a[7];
        int x3=a[8]*10+a[9];
        if((x1-x2)*x3==900)
            printf("(%d%d%d%d-%d%d%d%d)*%d%d=900\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
      }
      while( next_permutation(a,a+10));
/*组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end)
当当前序列不存在下一个排列时,函数返回false,否则返回true
另外,需要强调的是,next_permutation()在使用前需要对欲排列数组按升序排序,否则只能找出该序列之后的全排列数。*/
	  return 0;
}

标签:10,900,算式,d%,int,参数,include
来源: https://blog.csdn.net/qq_63202674/article/details/122766285

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有