当前位置: 首页 > news >正文

抽奖网站怎么做的南宁百度seo建议

抽奖网站怎么做的,南宁百度seo建议,网站开发量计算,从化专业做网站文章目录 好数题目描述暴力方法一暴力方法二(超时) 好数 题目描述 【问题描述】 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上的数字是奇数,偶数位(十位、千位、十万位 …

文章目录

  • 好数
    • 题目描述
    • 暴力方法一
    • 暴力方法二(超时)

好数

题目描述

【问题描述】
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称之为“好数”。

给定一个正整数 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 ≤ 107

暴力方法一

从题目中可以得出结论:奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数

那么就可以定义一个k代表数字n的当前位数,从1开始计数,即个位是1,十位是2,百位是3……

然后就可以从个位开始取数,判断该数是否为好数,每取走一位,k加上1,进入下一位

// 包含C++程序中常用的库,是C++标准库的一个集合,包括了I/O、字符串和容器等
#include<bits/stdc++.h>
// 使用std命名空间中的名字,避免每次调用标准库中的东西都要加上std::前缀
using namespace std;// 定义一个函数check,用于检查某个整数n是否是“好数”
bool check(int n)
{int k=1; // 代表数字n的当前位数,从1开始计数,即个位是1,十位是2,百位是3,以此类推// 循环检查整数n的每一位while(n){int t=n%10; // t为n的当前最低位的数字,%运算符取余数// 检查当前位数k是否与对应的数字t符合好数的定义if(k%2==1 && t%2==0) // 如果位数k是奇数但数字t是偶数,则不满足好数的定义return false; // 返回false,表示n不是好数if(k%2==0 && t%2==1) // 如果位数k是偶数但数字t是奇数,则不满足好数的定义return false; // 返回false,表示n不是好数n /= 10; // n去掉最低位的数字,/=运算符用来对n除以10并将结果赋值给nk++; // 增加位数计数器,因为已经检查了一位}// 如果所有位的检查都通过,则n是好数return true; // 返回true,表示n是好数
}// 程序的主函数
int main()
{int n; // 定义一个整型变量n用来存放输入的数字cin >> n; // 从标准输入流中读取一个整数到变量nint ans = 0; // 初始化答案变量ans,用于计数有多少个好数// 循环,从1开始到n结束for(int i=1; i<=n; i++){// 调用check函数检查i是否是好数if(check(i))ans++; // 如果i是好数,就将答案变量加1}// 输出答案cout << ans;// 返回0,标识程序正常结束return 0;
}

暴力方法二(超时)

分情况讨论:

  • 当该数位数为奇数时,可以得到结论:偶数位上是奇数,奇数位上是偶数
  • 当该数位数为偶数时,可以得到结论:偶数位上是偶数,奇数位上是奇数

代码如下:

// 包含C++标准库的头文件,用于I/O操作和字符串处理
#include<bits/stdc++.h>
using namespace std;int main() {int n;            // 定义一个整数变量n用来存储输入的整数Ncin >> n;         // 从标准输入流中读取一个整数到n中int ans = 0;      // 定义并初始化计数器ans,用来记录总的好数的数量// 用一个for循环遍历从1到n的所有整数,检查每个数是否为好数for(int i = 1; i <= n; i++) {string s;        // 定义一个字符串s,用来存储当前数字的字符串表示s = to_string(i); // 把当前的整数i转化为字符串格式存储在s中int flag = 0;    // 定义一个标识变量flag,用来表示当前数是否为好数// 当数字的位数为奇数时,进行检查if(s.size() % 2 == 1) {// 遍历数字的每一位for(int j = 0; j < s.size(); j++) {// 如果位数是奇数位(从0开始计数),但数字是偶数,设置标志并跳出循环if(j % 2 == 0 && (s[j] - '0') % 2 == 0) {flag = 1;break;}// 如果位数是偶数位,但数字是奇数,设置标志并跳出循环if(j % 2 == 1 && (s[j] - '0') % 2 == 1) {flag = 1;break;}}}// 如果数字的位数为偶数,进行检查if(s.size() % 2 == 0) {// 同样地,遍历数字的每一位for(int j = 0; j < s.size(); j++) {// 如果位数是奇数位,但数字是偶数,设置标志并跳出循环if(j % 2 == 0 && (s[j] - '0') % 2 == 1) {flag = 1;break;}// 如果位数是偶数位,但数字是奇数,设置标志并跳出循环if(j % 2 == 1 && (s[j] - '0') % 2 == 0) {flag = 1;break;}}}// 如果flag没有被设置,说明当前的数是一个“好数”if(flag == 0)ans++; // 好数的数量加1}cout << ans; // 输出总的好数的数量return 0;    // 程序结束
}

这段代码通过将数字转换成字符串的形式,然后检查字符串的每个字符来判断一个数是否符合“好数”的定义。代码中的flag变量用来表示当前检查的数是否已经确定不是“好数”。如果在检查过程中发现某位数字不符合好数的要求,flag将被设置为1,并终止进一步检查。最终,没有被标记为非好数的数将会被计入最终的答案ans中。

http://www.hrbkazy.com/news/50644.html

相关文章:

  • 做网站怎么添加关键词发稿吧
  • 鹤壁建设网站推广渠道电话百度如何做广告
  • 如何用ps做网站ui新开传奇网站
  • 做网站开发 用什么软件网络上哪里可以做推广
  • 网站空间 默认文档如何做google推广
  • 做淘宝网站用什么软件做域名查询ip138
  • 做网站分类链接中国国际新闻
  • 做网站会用到什么语言百度收录检测
  • 山南网站建设做网站推广好做吗
  • 顶岗实践网站开发seo超级外链工具免费
  • 网站建临沂百度推广的电话
  • 保定市建设局网站站长之家seo综合
  • 网站建设 管理规范郑州seo多少钱
  • 深圳网站制作建设公司佛山外贸seo
  • 优秀交互设计网站济南seo全网营销
  • 网站开发建设与维护做什么的网络培训课程
  • qq空间怎么做网站百度快速收录提交工具
  • 淘宝网站建设seo确定关键词
  • 网站购物流程模块怎么实现阳江seo
  • 搜狗怎么做网站无锡seo优化
  • 北京别墅设计网站上海关键词seo
  • 邯郸市疫情快速排名优化怎么样
  • WordPress页面模板功能不见了泉州seo
  • 做视频发哪个网站赚钱佛山网站建设十年乐云seo
  • 网站空间免费 优帮云sem专员
  • 云南网上办事大厅官网关键词优化公司排名
  • 网站排名软件利搜怎么样seo网站推广与优化方案
  • 水印在线制作网站国内最好的搜索引擎
  • 上市公司协会网站建设汇报电商软文范例100字
  • 网站建设 提升和扩大沧州百度推广公司