首页 > 其他分享 >1019 数字黑洞(stl)

1019 数字黑洞(stl)

时间:2024-04-15 18:58:15浏览次数:20  
标签:10 stl 04d 黑洞 int 1019 printf cs sprintf

第一次知道sprintf这个函数,孤陋寡闻了。
写法一,

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
    char cs[100];
    sprintf(cs,"%04d",n);
    int a = 0,b=0;
    while(a-b!=6174){
		sort(cs,cs+4,greater<char>());//降序 
	    a=atoi(cs);
	    sort(cs,cs+4);//升序 
	    b=atoi(cs);
	    if(a==b){
	    	printf("%04d - %04d = %04d\n",a,b,a-b);
	    	break;
		}
	    //进行打印输出
		printf("%04d - %04d = %04d\n",a,b,a-b);
		sprintf(cs,"%04d",a-b);
	    if(a-b==6174) break;
	}
	return 0;
}

写法二,

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n, a1, b1, a[5], b[5];
    cin >> n;
    while(1)
    {
        for(int i = 0; i < 4; ++ i)
        {
            a[i] = n % 10;
            b[i] = n % 10;
            n /= 10;
        }
        sort(a, a + 4, greater<int>());
        sort(b, b + 4);
        a1 = a[0]*1000 + a[1]*100 + a[2]*10 + a[3];
        b1 = b[0]*1000 + b[1]*100 + b[2]*10 + b[3];
        n = a1 - b1;  
        printf("%04d - %04d = %04d\n", a1, b1, n);
        if(n == 0)  break;
        if(n == 6174)   break;
    }
    return 0;
}

sprintf/fprintf/printf 函数区别
sprintf 是将一个格式化的字符串输出到一个目的字符串中;
printf 是将一个格式化的字符串输出到屏幕;
fprintf 是将一个格式化的字符串写入文件中;

标签:10,stl,04d,黑洞,int,1019,printf,cs,sprintf
From: https://www.cnblogs.com/chengyiyuki/p/18136695

相关文章

  • whistle代理使用
    1.介绍whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系......
  • STL学习
    栈:stack容器内元素的访问​由于栈(stack)本身就是一种后进先出的数据结构。在STL中stack中只能通过top()来访问栈顶元素栈上的基本操作栈的基本操作包括:函数名用途push(x)将x入栈top()获得栈顶元素pop()用以弹出栈顶元素empty()可以检测stack内是否为......
  • STL笔记 之 vector
    初识STLSTL,(StandardTemplateLibrary),即"标准模板库",由惠普实验室开发,STL中提供了非常多对信息学奥赛很有用的东西。vectorvetor是STL中的一个容器,可以看作一个不定长的数组,其基本形式为:vector<数据类型>名字;如:vector<int>v或vector<char>t。vector的基本操作先定......
  • C++_STL提供了六大组件
    STL提供了六大组件StandardTemplateLibrary容器:Containers各种数据结构,如vector,list,deque,set,mep等。容器是类模板。在声明容器变量时,可以指定容器将保存的元素的类型算法:各种常用的算法,提供了执行各种操作的方式,包括对容器内容执行初始化,排序,搜索和转换等操作,比如sort,s......
  • C++ 标准模板库 STL(1)set 与 multiset
    一、简介    set与multiset容器能够快速查找键,键是存储在一维容器中的值,二者的区别在于前者不能够存储重复的键值,后者能够存储重复键值。    set与multiset内部结构类似于二叉树,并且被插入到set与multiset容器中的元素会默认进行排序,从而提高查找速度。这意......
  • # C++之STL整理(7)之queue用法(创建、赋值、增删查改)详解
    C++之STL整理(7)之queue用法(创建、赋值、增删查改)详解注:整理一些突然学到的C++知识,随时mark一下例如:忘记的关键字用法,新关键字,新数据结构C++的queue用法整理C++之STL整理(7)之queue用法(创建、赋值、增删查改)详解queue1.queue构造函数2.queue存取、插入和删除操作3.......
  • C++笔记:STL容器库的使用
    前置:    对于stl容器库,我只做了一些常用的笔记,关于更详细的使用可以参考:https://cppreference.com/https://cppreference.com/一.string--字符串对于C++中string字符串会比C语言的字符数组使用起来会顺手许多。命名空间:std关于迭代器可以理解为指针,和指针的使......
  • STLINK-V3PWR连接STM32最小系统板方法(含引脚分布)
    前段时间导师给我了一个STLINK-V3PWR,让我试着用它下载程序到STM32单片机上,我找了半天发现网上资源挺少的,于是自己搞了一下,从官网下载了相关的规格书,然后连了一下。下面是我自己找的官方资源然后翻译的。下面是STLINK-V3PWR的调试端口引脚分布。手上只有STM32F103C6T6A......
  • C++初级----string类(STL)
    1、标准库中的string1.1、sring介绍    字符串是表示字符序列的类,标准的字符串类提供了对此类对象的支,其接口类似于标准字符容器的接口,但是添加了专门用于操作的单字节字符字符串的设计特性。    string类是使用char,即作为他的字符类型,使用他默认的char_tr......
  • android 【存储相关】preserveLegacyExternalStorage,requestLegacyExternalStorage
    这两个属性是与Android10(API级别29)及更高版本中的外部存储访问权限限制相关的属性。android:preserveLegacyExternalStorage="true"这个属性用于在Android10及更高版本上保留旧版的外部存储访问模式。在Android10及更高版本中,默认情况下,应用程序只能访问自己......