C++启蒙题目求解答,在线坐等采纳。

总时间限制: 1000ms 内存限制: 131072kB
描述
Gx超级喜欢数字7,她认为数字7是她的幸运数字。Lm为了考她,就随机给定数字N,让她求出十进制1~N中在原来进制和八进制下包含7的数字个数。请你能帮她编程解决问题。

输入
输入1个整数N(1<=N<=100000)
输出
输出1~N中在十进制和八进制下包含7的数字个数。
样例输入
样例输入1
20
样例输入2
100000
样例输出
样例输出1
3
样例输出2
30555
提示
【样例解释】
7(10)、17(10)包含数字7;
7(10)->7(8)、15(10)->17(8)包含数字7,所以一共有3个数字包含7。

对问答区Q7496881编写的程序与预期不符-编程语言-CSDN问答 CSDN问答为您找到对问答区Q7496881编写的程序与预期不符相关问题答案,如果想了解更多关于对问答区Q7496881编写的程序与预期不符 c++、c语言 技术问题等相关问答,请访问CSDN问答。 https://ask.csdn.net/questions/7496906
我攒了一个,但是答案不对emmm
你也看看说不定能发现啥问题?

全完了,我算出来得69445...

#include <iostream>
using namespace std;
int f1(int num) //判断十进制 
{
    int h=0;
    while(num>0)
    {
        h=num%10;
        if(h==7)
            return 1;
        num/=10;
    }
    return 0;
}
int f2(int num) //判断八进制 
{
    int h=0,s=0;
    while(num>0)
    {
        h=num%8;
        if(h==7)
            return 1;
        num/=8;
    }
    return 0;
}
int main()
{
    int n=0,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        sum+=f1(i)+f2(i);
        if(f1(i)==1 && f2(i)==1) //如果都返回1就减去重复加的1 
            sum--;
    }
    cout<<sum<<endl;
    return 0;
}

这是哪里的题?