牛客周赛 Round 3 A 游游的7的倍数

忘开longlong属实难绷

题目描述

游游拿到了一个正整数 xxx,她希望在 xxx 中添加一个数字,使它成为 7 的倍数。你能帮帮她吗?

输入描述:

一个正整数 xxx。
1≤x≤1091\leq x \leq 10^91≤x≤109

输出描述:

xxx添加一个数字后形成的数。请务必保证操作的合法性,且一定是7的倍数。如果有多解,输出任意一个合法解。可以证明,至少存在一个正确答案。

示例1

输入

复制

1

输出

复制

21

说明

在前面添加一个2即可。

示例2

输入

复制

15

输出

复制

105

说明

在1和2的中间添加一个0。105=15*7,合法。另外,315、154等答案也是合法的。

一开始写的考虑了任意位置插入的情况

#include 
using namespace std;
#define int long long
signed main()
{
    string s;
    cin>>s;
    string ans;
	int cnt=1;
	int tepan=stoi(s);
	for(int i=0;i<=9;i++)
	{
		if((tepan*10+i)%7==0)
		{
			cout<cnt)
	{
		int ints=stoi(s);
		int t=ints/(cnt*10);
		string st=to_string(t);
		int w=ints%(cnt*10);
		string sw=to_string(w);
		for(int i=0;i<=9;i++)
		{
			string tmp=to_string(i);
			ans.clear();
			ans = ans+st+tmp+sw;
			int sans=stoi(ans);
			if(sans%7==0){
				cout<

然后是看了题解发现只需考虑最后一位

#include 
using namespace std;
int main()
{
	long long x;
	cin>>x;
	for(int i=0;i<=9;i++)
	{
		if((x*10+i)%7==0)
		{
			cout<

你可能感兴趣的:(算法)