题解 CF109A 【Lucky Sum of Digits】

深夜发题解~

哈欠×1

这道题个人认为是入门或普及-,因为思路简单,出题人没有设坑(也许设了坑,但我飞过去了QwQ)

总体思路是贪心,以4最少,7最多为贪心标准进行计算。

哈欠×2

用一个循环变量 i 来枚举4的个数,再判断剩下的数是否能被7整除。如果能,直接输出并结束程序。别忘了在最后加上一句cout<<-1,因为没找到即为不存在。

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<=n/4;i++) 
	{
		int f,s;
		f=i*4;
		s=n-f;
		if(s%7==0) 
		{
			for(int j=0;j<i;j++) cout<<'4';
			s/=7;
			for(int j=0;j<s;j++) cout<<'7';
			return 0;
		}
	}
	cout<<-1;
	return 0;
}

哈欠×3

拜拜,各位~

原文地址:https://www.cnblogs.com/oierscw/p/12548421.html