小红的数字拆解

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

小红拿到了一个偶数,她希望你将其切割成尽可能多的偶数。你能帮帮她吗?

输入描述:

一个偶数xxx。
1≤x≤101051\leq x \leq 10^{10^5}1≤x≤10105

输出描述:

输出若干行,从小到大输出每个偶数。

示例1

输入

复制1024

1024

输出

复制2 4 10

2
4
10

说明

拆分成"10"+"2"+"4"三个偶数。

示例2

输入

复制999999999999999999999999990

999999999999999999999999990

输出

复制999999999999999999999999990

999999999999999999999999990

示例3

输入

复制202020

202020

输出

复制0 0 0 2 2 2

0
0
0
2
2
2

这题的做法很简单,就是从最高位往右数,遇到奇数就往后截取到第一次出现的偶数,如果是偶数就直接记录到string数组。

关键在于如何把存入的字符数进行排序,可能有的小伙伴想直接转成数字存进去不就好排序了吗,但是题目可能给一段很长的奇数,这样大到没法表示。排序时加个自定义。

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
#include<math.h>
#include<iomanip>
#include<set>
#include<queue>
#include<stack> 
#include<map>
#include<list>
using namespace std;
string a;
string b[100005];
bool com(string a,string b)
{
	if(a.length()!=b.length())
	return a.length() < b.length();
	return a < b;
}
int main()
{
	cin >> a;
	int l = 0;
	for (int i = 0; i < a.length();)
	{
		if ((a[i] - 48) % 2 == 0)
		{
			b[l] = a[i];
			i++;
			l++;
		}
		else
		{
			for (int j = i + 1; j < a.length(); j++)
			{
				if ((a[j] - 48) % 2 == 0)
				{
					b[l] = a.substr(i, j - i + 1);
					l++;
					i = i + (j - i) + 1;
					break;
				}
				
			}
		}
	}
	sort(b, b+l,com);
	for (int i = 0; i < l; i++)
	{
		cout << b[i] << endl;
	}
}

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小红书dataset是指包含了关于小红书平台用户和内容的数据集。小红书是一款以分享购物心得、生活方式和美妆相关内容为主的社交平台,用户可以在平台上发布笔记、评论、点赞等行为,以及搜索和关注感兴趣的话题或用户。 小红书dataset包含了用户信息、用户行为数据、内容数据等多个方面的信息。用户信息包括用户名、性别、年龄、所在地等基本信息,可以用于用户画像和分析用户特征。用户行为数据包括用户在平台上的各种行为操作,如发布笔记、评论、点赞、关注等,这些数据可以用来研究用户的行为偏好和社交网络结构。内容数据包括用户发布的笔记、图片、视频等内容,这些内容包含了购物心得、产品评测、生活方式分享等,可以用于分析产品趋势、影响力评估和用户喜好。 通过对小红书dataset的分析,可以得出许多有价值的研究结论。例如,可以通过分析用户行为数据,了解用户在平台上的活跃度和行为习惯,为平台运营和推广提供指导意见;可以通过分析用户发布的内容数据,发现不同领域的热门产品和用户的评价,供商家和品牌进行市场调研和产品改进;还可以通过分析用户信息和用户行为数据,构建用户画像,以便更好地进行个性化推荐和精准营销。 小红书dataset的应用前景广阔,不仅可以帮助小红书平台优化用户体验和提高商业价值,还可以为学术研究提供重要数据支持,推动社会科学的发展。希望小红书dataset的开放使用可以进一步促进数据分享和共享,激发更多创新和价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值