题解 | #[NOIP2013]记数问题#
[NOIP2013]记数问题
https://www.nowcoder.com/practice/28b2d9f2bf2c48de94a1297ed90e1732
public class Program {
public static void Main() {
//把输入的数分开
string[] inPut = System.Console.ReadLine().Split(" ");
//需要从1循环到inPutNum
long inPutNum = long.Parse(inPut[0]);
//需要统计出现次数的数
char target = char.Parse(inPut[1]);
int count = 0;
//利用字符串类库去解
// for (int i = 1; i <= inPutNum; i++) {
// char[] arr = i.ToString().ToCharArray();
// for (int j = 0; j < i.ToString().Length; j++) {
// if (arr[j].ToString().Contains(target))
// count++;
// }
// }
//把数字拆分开解 利用x%10取得个位数 然后再利用x/=10不断进位
int tmp;
for (int x = 1; x <= inPutNum; x++) {
tmp = x;
while (tmp > 0) {
if (tmp % 10 == int.Parse(inPut[1]))
count++;
tmp /= 10;
}
}
System.Console.WriteLine(count);
}
}