您的位置:首页 > 科技 > IT业 > 手机微信小程序开发教程_建设网站的网站空间_百度关键词规划师入口_松松软文平台

手机微信小程序开发教程_建设网站的网站空间_百度关键词规划师入口_松松软文平台

2025/4/2 7:41:12 来源:https://blog.csdn.net/2402_85428625/article/details/146570090  浏览:    关键词:手机微信小程序开发教程_建设网站的网站空间_百度关键词规划师入口_松松软文平台
手机微信小程序开发教程_建设网站的网站空间_百度关键词规划师入口_松松软文平台

好数

  • 问题描述
  • 代码解释
  • 代码

好数

问题描述

一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯ ) 上的数字是偶数,我们就称之为 “好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
输入格式
一个整数 N。
输出格式
一个整数代表答案。
样例输入 1
24
样例输出 1
7
样例输入 2
2024
样例输出 2
150
样例说明
对于第一个样例,24 以内的好数有 1、3、5、7、9、21、23,一共 7 个
评测用例规模与约定
对于 10% 的评测用例,1≤N≤100
对于 100% 的评测用例,1≤N≤10 7

代码解释

good函数:该函数用于判断一个数是否为好数。通过逐位检查,奇数位必须为奇数,偶数位必须为偶数。若某位不符合条件,立即返回0,否则返回1。

主函数:读取输入N,遍历从1到N的每个数,调用good函数检查是否为好数,统计符合条件的好数个数并输出。
该方法虽然简单,但在给定的问题规模下能够高效完成任务

代码

import java.util.Scanner;public class Main {public static int good(int a){int t=1;while(a!=0){int x=a%10;if(t%2==1){if(x%2==0)return 0;}else{if(x%2==1)return 0;}a/=10;t++;}return 1;}public static void main(String[] args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();//n<=10^7int count=0;for(int i=1;i<=n;i++){if(good(i)==1){count++;}}System.out.println(count);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com