STICP-002_编程挑战系列赛第二场(从现在开始,这里叫涛涛广场!)_A.涛涛的签到题

原题链接:STIPC-002_A.涛涛的签到题

A.涛涛的签到题

题目描述

嘿,欢迎来到涛涛专场!先给大家透露一下,本次的题目都非常友善哦!!放轻松,从眼前这道签到题开始入手把,希望你能体验到 A K ( A l l − K i l l e d ) AK(All-Killed) AK(AllKilled) 的快乐。
涛涛最近刚刚学习了 C C C语言基础知识,木木豙殳 g i e g i e giegie giegie随手出了一道题目就把涛涛难到了。热心的你看到了这一幕,决定帮助涛涛完成。
这个难题是这么说的:对于某一个年份 n n n ,想知道大于 n n n 且与 n n n 的数位和相同的最小年份是多少。

输入格式

一个正整数 n n n

输出格式

输出一个正整数代表答案。

输入输出样例

样例一:
输入:
2021 2021 2021
输出:
2030 2030 2030

说明/提示

2021 2021 2021的数位和为: 2 + 0 + 2 + 1 = 5 2+0+2+1=5 2+0+2+1=5
2030 2030 2030的数位和为: 2 + 0 + 3 + 0 = 5 2+0+3+0=5 2+0+3+0=5
【数据范围】:
2021 ≤ n ≤ 2030 2021≤n≤2030 2021n2030

题目解析:

本题签到题,只需要使用简单的除 10 10 10 取余操作得到数位和后,再使用循环判断语句进行查找与输入年份数位和相等的那个年份就好了。
当然本题由于太过基础,也可以直接手算得到答案 2021 − 2029 2021-2029 20212029 对应答案为 2030 − 2038 2030-2038 20302038 2030 2030 2030 对应答案为 2102 2102 2102

AC代码(C++):
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
	int a,b,sum=0;
	scanf("%d",&a);
	b=a+1;
	while(a!=0)
	{
		sum+=(a%10);
		a/=10;
	}
	for(int i=b; ;i++)
	{
		int c=i,csum=0;
		while(c!=0)
		{
			csum+=(c%10);
			c/=10;
		}
		if(csum==sum)
		{
			printf("%d",i);
			return 0;
		}
	}
	return 0;
 } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grape_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值