zoukankan      html  css  js  c++  java
  • 计蒜客---函数规律 (字符串)

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

    f(8)=2

    f(16)=1

    f(32)=0

    f(2048)=3

    读入一个x(1≤x≤101000),请你找出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的十进制表示中有多少个圈圈。

    样例输入

    2048

    样例输出

    3

    题解:字符串处理
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <vector>
     6 #include <cstdlib>
     7 #include <iomanip>
     8 #include <cmath>
     9 #include <ctime>
    10 #include <map>
    11 #include <set>
    12 #include <queue>
    13 using namespace std;
    14 #define lowbit(x) (x&(-x))
    15 #define max(x,y) (x>y?x:y)
    16 #define min(x,y) (x<y?x:y)
    17 #define MAX 100000000000000000
    18 #define MOD 1000000007
    19 #define pi acos(-1.0)
    20 #define ei exp(1)
    21 #define PI 3.141592653589793238462
    22 #define INF 0x3f3f3f3f3f
    23 #define mem(a) (memset(a,0,sizeof(a)))
    24 typedef long long ll;
    25 ll gcd(ll a,ll b){
    26     return b?gcd(b,a%b):a;
    27 }
    28 bool cmp(int x,int y)
    29 {
    30     return x>y;
    31 }
    32 const int N=1005;
    33 const int mod=1e9+7;
    34 char a[N];
    35 int main()
    36 {
    37     scanf("%s",a);
    38     int len=strlen(a);
    39     int s=0,t;
    40     for(int i=0;i<len;i++){
    41         t=(int )a[i]-'0';
    42         if(t==8) s+=2;
    43         else if(t==0||t==6||t==9) s++;
    44     }
    45     cout<<s<<endl;
    46     return 0;
    47 }
  • 相关阅读:
    HDU 1002 A + B Problem II
    HDU 2602 Bone Collector WA谁来帮忙找找错
    爬楼梯问题-最大迈两步
    2106 Problem F Shuffling Along 中石油-未提交-->已提交
    2101 Problem A Snake Filled
    2078 Problem H Secret Message 中石油-未提交-->已提交
    有关 时间 空间 以及 数据类型 的总结
    hdu 2510
    hdu 1133 卡特兰 高精度
    hdu 2067
  • 原文地址:https://www.cnblogs.com/wydxry/p/7278605.html
Copyright © 2011-2022 走看看