【寒假每日一题】洛谷 P6723 [COCI2015-2016#5] ZAMKA

题目链接:P6723 [COCI2015-2016#5] ZAMKA - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目描述

给定三个整数 L,D,X,你需要找到两个整数 N,M,使得:

  • N 为满足条件的最小整数,L ≤ N ≤ D 且 N 的各位数字之和为 X;
  • M 为满足条件的最大整数,L ≤ M ≤ D 且 M 的各位数字之和为 X。

保证 N,M 一定存在。

输入格式

输入共三行。

第一行一个整数 L,第二行一个整数 D,第三行一个整数 X。

输出格式

输出共两行。

第一行为一个整数 N,第二行为一个整数 M。

样例 #1

样例输入 #1

1
100
4

样例输出 #1

4
40

样例 #2

样例输入 #2

100
500
12

样例输出 #2

129
480

样例 #3

样例输入 #3

1
10000
1

样例输出 #3

1
10000

提示

数据规模与约定

对于 100% 的数据,1 <= L <= D <= 10^4,1 <= X <= 36。

说明

题目译自 COCI2015-2016 CONTEST #5 T1 ZAMKA

AC code:

#include<iostream>
#include<algorithm>

using namespace std;

int l,d,x;

bool numSum(int num)
{
	int sum = 0;
	while(num > 0)
	{
		sum += num % 10;
		num /= 10;
	}
	if(sum == x)
		return true;
	return false;
}

int main()
{
	cin>>l>>d>>x;
	
	for(int i = l ; i <= d ; i ++)
	{
		if(numSum(i))
		{
			cout<<i<<endl;
			break;
		}
	}
	
	for(int i = d ; i >= l ; i --)
	{
		if(numSum(i))
		{
			cout<<i<<endl;
			break;
		}
	}
	
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值