幸运数字
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
我们定义幸运数字为只含有且必须同时含有 4 和 7 的数。例如:47, 747 是幸运数字,而 2333, 666, 457, 777 就不是幸运数字。
现在,bLue 想知道一个数是不是幸运数字,你能帮助他吗?
Input
输入数据有多组(数据组数不超过 100),到 EOF 结束。
每组输入为一行,包含一个非负整数 n,保证 n 在 int 范围内。
Output
对于每组数据,如果输入的数是幸运数字,则输出一行 "Yes",否则输出一行 "No"(输出内容均不包括引号)。
Example Input
40 74 747 1047 123
Example Output
No Yes Yes No No
Hint
Author
【2016级《程序设计基础(B)I》期末上机考试-第二场】bLue
#include<stdio.h>
int main(){
int n , i , s[999] , l , m;
while(~scanf("%d" , &n))
{
i = 0 ;
l = 1 ;
while(n > 0)
{
s[i] = n % 10 ;
n = n / 10 ;
i++;
}
m = i ;
if (m >= 2)
{
for (i = i - 1 ; i >= 0 ; i--)
{
if (s[i]!=4&&s[i]!= 7)
{
l = 0;
break ;
}
}
if (l)
{
for (i = 1 ; i < m ; i++)
{
if (s[i]==s[0])
{
l = 0;
}
else
{
l = 1 ;
break ;
}
}
if (l)
printf("Yes\n");
else
printf("No\n");
}
else
printf("No\n");
}
else
printf("No\n");
}
return 0;
}