【每日一题】小红的奇偶抽取问题

题目描述:

小红拿到了一个正整数,她希望把数位中的奇数和偶数分别抽取出来然后做差,请你求出这个差的绝对值。例如,302938的奇数抽取出来是393,偶数抽取出来是28最终的差的绝对值是365.
输入描述
一个整数n。
1 ≤n ≤ 10^14
输出描述
一个整数,代表最终差的绝对值。
代码示例

#include <stdio.h>
int main()
{
	int a, b;
	while(scanf("%d %d",&a,&b)!=EOF)//注意while处理多个case
	{
		//64位输出请用printf("%lld") to
		printf("%d\n",a+b);
	}
	return 0;
 }

题目分析

  • 数据类型的选择,由于1 ≤n ≤ 10^14,因此选择long long数据类型;
  • 输入只有一个n,但需要得到奇数和偶数差值的绝对值,因此奇数和偶数需要以指针的方式传递;
  • 建立while循环,通过n%10的方式将数据中的各个位进行剥离;
  • 对各个位进行奇偶判断,同时通过一个依次乘以10的变量将奇数和偶数依次保存;
  • 每次循环结束后需要对n除以10,以便对数据的下一位进行处理;
  • 最后利用绝对值函数abs将奇数和偶数的差值算出并返回。

代码实现:

void fun(long long n,long long* odd,long long*even)
{
	*odd = 0;
	*even = 0;
	int count1 = 1;
	int count2 = 1;
	while(n>0)
	{
		int a = n%10;
		if(a%2==0)
		{
			*even += a*count1;
			count1*=10; 
		}
		else
		{
			*odd += a*count2;
			count2*=10; 
		}
		n /=10;
	}
}

long long fun1(long long odd,long long even)
{
  return labs(odd - even);
}

int main()
{
	long long n = 0;
	scanf("%lld",&n);
	long long odd = 0;
	long long even = 0;
	long long result = 0;
	fun(n,&odd,&even);
	result = fun1(odd,even);
	printf("%lld\n",result);
	return 0;
	

}

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现一个自动评论功能需要使用到爬虫和自动化工具。请注意,自动评论可能违反小红书的使用条款,因此在实施之前,请确保您了解相关政策并遵守法律和道德准则。 以下是一个基本的实现步骤: 1. 爬取目标:使用爬虫工具(如Python的BeautifulSoup或Scrapy)来获取小红书上的目标内容。您可以使用目标用户的个人主页或特定话题页面作为爬取的起点。 2. 解析内容:从爬取的页面中提取出您想要自动评论的内容,例如帖子、图片、视频等。 3. 登录账户:使用自动化工具(如Selenium)模拟登录小红书账户。请注意,登录过程可能需要处理验证码等安全措施。 4. 发表评论:使用自动化工具模拟用户行为,在目标内容下发表评论。您可以编写脚本来生成评论内容,并将其提交到目标帖子的评论框中。 5. 避免反爬虫机制:小红书可能会有反爬虫机制,因此您需要采取相应的措施来避免被检测和封禁。例如,可以设置延时、随机化操作、模拟人类行为等。 6. 注意合规性:在实施自动评论之前,请确保您遵守小红书的使用条款和规定。过度或滥用自动评论可能会导致账户被封禁或其他法律问题。 需要强调的是,自动评论功能的实现涉及到一些技术和道德问题。在尝试实现之前,请确保您了解相关规定,并始终遵守法律和道德准则。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值