计蒜客 难题题库 024 函数规律

来源:互联网 发布:网络电话隐藏号码软件 编辑:程序博客网 时间:2024/06/06 07:31

下面我将描述一个简单的函数:

f(8)=2

f(16)=1

f(32)=0

f(2048)=3

读入一个x(1≤x101000),请你找出f(x)的值。

输入包括一行,仅一个数字x。

输出包括一行,仅一个数字f(x)。

提示:

f(0)=1, f(1)=0, f(2)=0, f(3)=0, f(4)=0, f(5)=0, f(6)=1, f(7)=0, f(8)=2, f(9)=1

有时候看数据猜题意也是很重要的技能,如果你看到这里还不知道题意的话,那么我来告诉你,f(x)表示x的十进制表示中有多少个圈圈。


样例1

输入:

2048

输出:

3


#include<iostream>#include<string>using namespace std;int main(){    string s;    cin >> s;    int n = s.length();    int count = 0;    for(int i = 0; i < n; ++i){        if(s[i] == '0' || s[i] == '6' || s[i] == '9'){            ++count;        }else if(s[i] == '8'){            count += 2;        }    }    cout << count << endl;}


0 0