@PaulGuan
2016-10-18T13:15:13.000000Z
字数 488
阅读 742
算法
题解
一个长度为n(2<=n<=50)的数中只有4和7的时候我们称其为幸运数字,现将这个数通过整除2分成两份,如果这个数是幸运数字,且两份的各位数的数字相加的和相等,则输出YES,反之输出NO。
进行幸运数字判断然后累加判断大小即可。
#include <string>
#include <iostream>
using namespace std;
int main()
{
int num,sum1=0,sum2=0;
string n;
cin>>num>>n;
int i;
for(i=0;i<num/2;i++)
{
if(n[i]!='4'&&n[i]!='7')
{
cout<<"NO"<<endl;
return 0;
}
sum1+=n[i]-'0';
}
for(i=num/2;i<num;i++)
{
if(n[i]!='4'&&n[i]!='7')
{
cout<<"NO"<<endl;
return 0;
}
sum2+=n[i]-'0';
}
if(sum1==sum2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}