Cool Number

news/2024/11/30 11:30:53/

题目描述

对于一个数大于等于0的数X,我们定义三个函数,g1(x),g2(x),f(x)

g1(x) = 让x的所有数字从大到小排列(比如123变成321)

g2(x) = 让x的所有数字从小到大排列(比如321变成123)

f(x) = g1(x) - g2(x)

我们给定两个数N和K,让你算出N,f(N)经过K次运算后是多少?

输入

第一行输入两个数N(1<=N<=1e9),K(1<=k<=1e5)

输出

一个数f(N)

样例输入 复制

314 2

样例输出 复制

693

 

  1. 这个题目穷举就可以解决,升序排序数字,转成数字,降序排序数字,转成数字,然后相减,得到一个新的数,再循坏往下。
  2. 优化一下,先排序,再逆序。值得注意的一点是一定是要先排降序转成数字,再逆序。如果先排升序,那么0就会排到前面去,转成逆序数字时就会出错。

代码如下:

#include<stdio.h>
long long g1(long long m)//求
{long long i=0,j,t,a[20],n;long long s=0,k=m;while(k){a[i++]=k%10;k/=10;}n=i;for(i=0;i<n-1;i++){for(j=n-1;j>i;j--){if(a[j]>a[j-1]){t=a[j];a[j]=a[j-1];a[j-1]=t;}}}for(i=0;i<n;i++){s=s*10+a[i];}return s;}
long long fs(long long n)
{long long a=n,s=0;while(a){s=s*10+a%10;a/=10;}return s;
}int main()
{long long n,k,i;long long a,b,s;scanf("%lld%lld",&n,&k);s=n;while(k--){a=g1(s);b=fs(a);s=a-b;}printf("%lld\n",s);
}                                                                                                                                                                                                                                                                                                                                                                      


http://www.ppmy.cn/news/455198.html

相关文章

cool english (持续更新中)

One who frequently looks back cant go far. 一个频频回头的人&#xff0c;是走不了远路的。 Life, that one of the most reluctant, always hidden deepest. ——生命里&#xff0c;最舍不得的那一页&#xff0c;总是藏得最深。 Sometimes you cant see yourself clear…

hot and cold observable

A “hot” Observable may begin emitting items as soon as it is created, and so any observer who later subscribes to that Observable may start observing the sequence somewhere in the middle. A “cold” Observable, on the other hand, waits until an observer …

coolite js architeture

http://examples.coolite.com/

scollins

1./**************** 功能:定义名为swap的函数模板用于交换两个变量中的数据 参数: 返回值: NULL. 备注: *****************/void swap(int& a, int& b){ //1、不用中间变量 //(1)用异或运算 a ^ b; b ^ a; …

color #

#003366 是深紫色; #FFFFFF 是 白色; #000000是黑色 古董白 #FAEBD7 浅绿色 #00FFFF 碧绿色 #7FFFD4 天蓝色 #F0FFFF 米色 #F5F5DC 桔黄色 #FFE4C4 黑色 #000000白杏色 #FFEBCD 蓝色 #0000FF 紫罗兰色#8A2BE2 褐色 #A52A2A 实木色 #DEB887 军兰色 #5F9EA0 黄绿色 #7FFF00 巧…

JavaScript Color class

颜色类以“Argb“色为基准&#xff0c;二进制分布格式为”A <<24 | R << 16 | G << 8 | B ”&#xff0c;它兼容标准的Rgb格式&#xff0c;可以快速的把一个Argb值相互转换成“Hex”、“Rgba / css3”所支持的形式。 在很多时候我们并不需要保持“环境”运行…

Popular Cows

题目 http://poj.org/problem?id2186 题目大意 n个点m条边&#xff0c;求有多少个点可以去到所有点。 思路 这已经很直白了。只要用tarjan缩完点之后&#xff0c;这个图是棵树。若存在两个出度为0的&#xff0c;一定无解&#xff0c;因为肯定这两个点无法相同&#xff0c…

Colorful

SOUNDLONG:PUSH 05H ;堆栈&#xff0c;保护现场MOV R5,#25 CLK:CLR BUZMOV R7,#0FFHLCALL DLYSETB BUZMOV R7,#0FFHLCALL DLYDJNZ R5,CLK ;延时嵌套&a…