指针原来是套娃的


私信TA

用户名:uq_92467646842

访问量:43430

签 名:

数学改变科学,科学改变世界

等  级
排  名 10
经  验 25179
参赛次数 49
文章发表 128
年  龄 0
在职情况 学生
学  校
专  业 物联网工程

  自我简介:

QQ:2830671713

解题思路:
作为第一道大题,这道题还是很简单的,数据量在10^7 纯暴力时间复杂度是nlogn 也不会超时

定义一个vis函数进行检查 用%10获得每一位上的数,定义k作为奇偶位标记 主函数里面循环即可,注意跳出条件是i<=n

参考代码:

#include <bits/stdc++.h>
using namespace std;

int vis(int n) {
	int k=1;
	while(n) {
		int t = n%10;
		if(k%2==1) {
			// 奇数位 为奇数
			if(t%2==0) {
				return 0;
			}
		} else {
			// 偶数位 为偶数
			if(t%2==1) {
				return 0;
			}
		}
		n/=10;
		k++;
	}
	return 1;
}

int main() {
	int n,z=0;
	cin>>n;
	for(int i=1; i<=n; i++) {
		if(vis(i)==1){
			z++;
		}
	}
	cout<<z;

	return 0;
}


 

0.0分

167 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

为啥10^7还能暴力,感觉是这个评测系统用例小了
2024-04-17 14:54:54
  • «
  • 1
  • »