PAT Basic Level 1019 数字黑洞(STL+Function)

题目链接:点击查看

题目描述:

给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。

输入输出:
输入

6767

输出

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174

题目分析:

本题运用c++ sort(),to_string(),stoi()可以很方便的模拟出题目过程,要注意的是如果数字串不足四位的时候要在前面补零。详见如下代码。

代码:

#include<iostream>
#include<algorithm>
#include<functional>
#include<string>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
	string n;
	cin>>n;
	n.insert(0, 4 - n.length(), '0');//不足四位要补零 
	do {
	  string n1=n,n2=n;
	  sort(n1.begin(),n1.end());
	  sort(n2.begin(),n2.end(),[](const char &a,const char  &b){ return a>b; });
	  int res=stoi(n2)-stoi(n1);//stoi()函数可以将字符串转换为 int 范围内的整型 (另有atoi()函数)
	  n=to_string(res);
	  n.insert(0,4-n.length(),'0');	//不足四位在前面补零
	  cout<<n2<<" - "<<n1<<" = "<<n<<endl; 
	}while(n!="6174"&&n!="0000");
	return 0;
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
文档学习写字机安装还在学习中1、产品概览 AX4写字机框架采用2020工业铝型材,配合5MM亚克力面板,XY轴导向采用8mm直径光轴配合直线轴承运动,上下抬笔机构采用微型直线导轨系统。本套件XY轴行程297×210mm,标配42步进电机,SG90舵机,建议运行速度一分钟3000mm。本套件采用开源Arduino系统,配合相关软件可在纸质材料上写字画图等。本套件含包装重量3KG左右,纸箱外形尺寸57×21×6cm。本套件为USB接口,连接电脑才能工作,建议WIN7系统。 2、零部件明细 (1)机器框架 8mm光杆 450mm 2条、360mm 2条 2020欧标铝型材 421mm 1条、68mm 4条 LM8UU直线轴承 8个 亚克力 25片 F624法兰轴承 10个 同步轮 2个 同步带 1.5米 3D笔架 1个 扎带 25条 电线固定带 2条 直线导轨组件 1套 (2)电器控制 42步进电机2个 Arduino控制器1套 SG90舵机1个 电源1个 USB线1条 (3)螺丝清单 M2×6 十字螺丝=4 滑台 M2×10 十字螺丝=2 舵机 M2×16 十字螺丝=2 直线导轨 M3×8 十字螺丝=8 步进电机 M3×12 十字螺丝=8 亚克力固定 M3×20 十字螺丝=17 光轴固定+限位 M3×30 十字螺丝=4 电路板固定 M4×12 十字螺丝=8 光轴紧定 M4×30 十字螺丝=1 后滑轮 M4×25 手拧螺丝=1 笔架 M4×40 十字螺丝=4 十字滑轮 M5×10 十字螺丝=8 亚克力与铝型材 M6×12 十字螺丝=6 铝型材 M2 六角螺母=4 M3 六角螺母=29 M4 六角螺母=5 M4 方块螺母=9 M5 铝型材螺母=8 φ3×20 塑料隔离柱=4 φ4×2 塑料隔离柱=2 φ4×7 塑料隔离柱=8 φ3×20 塑料隔离柱=4(激光头配套) M3×30十字螺丝=4(激光头配套) 3、机架组装 (1)组装十字滑台

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值