题解 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
拜拜,各位~