用C/C++编写LuckNumber这道题 真心求助 请大神赐教
题目描述每一个人都有一个自己的LuckNumber,作为中国的传统,含有6和8的数字格外受欢迎。现在我们定义含有至少1个6或8的数字即为幸运数字。(1个6或者1个8即可)...
题目描述
每一个人都有一个自己的LuckNumber,作为中国的传统,含有6和8的数字格外受欢迎。
现在我们定义含有至少1个6或8的数字即为幸运数字。(1个6或者1个8即可)。
现在给你一个区间[0,20131111],你的目的便是求出A,B间的幸运数字有多少个。
输入
本题无输入。
输出
直接输出幸运数字的个数即可。
样例输入
本题无样例输入。
样例输出
? 展开
每一个人都有一个自己的LuckNumber,作为中国的传统,含有6和8的数字格外受欢迎。
现在我们定义含有至少1个6或8的数字即为幸运数字。(1个6或者1个8即可)。
现在给你一个区间[0,20131111],你的目的便是求出A,B间的幸运数字有多少个。
输入
本题无输入。
输出
直接输出幸运数字的个数即可。
样例输入
本题无样例输入。
样例输出
? 展开
2个回答
展开全部
#include<iostream>
using namespace std;
void main()
{
int num6 = 0; // 含6数字的个数
int num8 = 0; // 含8数字的个数
for (int i=0; i<=20131111; ++i)
{
int num = i;
int has6 = 0;
int has8 = 0;
while (num > 0 && !(has6 && has8))
{
int bit = num % 10;
num /= 10;
if (bit == 6 && !has6)
{
num6++;
has6 = 1;
}
if (bit == 8 && !has8)
{
num8++;
has8 = 1;
}
}
}
cout<<num6<<endl
<<num8<<endl;
}
展开全部
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc, char** argv)
{
int count = 0;
for(int i = 0; i<= 20131111; i++)
{
stringstream ss;
ss << i;
string s = ss.str();
if( s.find("6") || s.find("8"))
{
count++;
}
}
cout<<count<<endl;
}
#include <sstream>
using namespace std;
int main(int argc, char** argv)
{
int count = 0;
for(int i = 0; i<= 20131111; i++)
{
stringstream ss;
ss << i;
string s = ss.str();
if( s.find("6") || s.find("8"))
{
count++;
}
}
cout<<count<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询