函数规律
下面我将描述一个简单的函数:
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
/*
思路:如题面意思,真的是数圈圈...0是一个圈,6下半部分是一个圈..
9上部分是一个圈...8上下部分都是圈...就酱...
*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
String str=cin.next();
int cnt=0;
for(int i=0;i<str.length();++i)
switch(str.charAt(i))
{
case '0':case '6':
case '9':cnt++;break;
case '8':cnt+=2;break;
}
System.out.println(cnt);
}
}