Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2)
题号 | 题目 | 知识点 |
---|---|---|
A | Digits Sum | 签到 |
B | Reverse String | 思维 |
C | Penalty | 思维 |
D | Backspace | 逆向思维 |
E | Permutation Shift | 置换群 |
F | Pairwise Modulo | |
G | Common Divisor Graph | |
H | XOR and Distance | |
I | Stairs |
cf1553 A. Digits Sum
题意:
定义S(x):为x的各位之和
问1<=x<=n,存在多少S(x+1)<S(x)?
题解:
不难看出满足这个情况的x末尾肯定是9,而且仔细观察输出,貌似答案就是把最后一位抹去,但也不完全是,因为如果最后一位是9,它本身也是,所以答案是(x+1)/10
代码:
#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
typedef long long ll;
using namespace std;
//qdu打铁匠
inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
int main()
{int t;cin>>t;while(t--){int n;cin>>n;n++;cout<<n/10<<endl;}
}