0

0

JavaScript 程序计算可被 8 整除的旋转次数

PHPz

PHPz

发布时间:2023-09-03 10:05:08

|

1446人浏览过

|

来源于tutorialspoint

转载

javascript 程序计算可被 8 整除的旋转次数

问题陈述 - 我们给出了一个数字。我们需要旋转该数字,并需要找到能被 8 整除的旋转总数。

在这里,我们将学习两种不同的方法来计算可被 8 整除的旋转次数。

旋转数字并检查旋转是否能被 8 整除

第一种方法是旋转数字并逐一获取每个可能的旋转。另外,检查旋转是否能被 8 整除。如果是,则在计数中加 1。

语法

用户可以按照下面的语法,通过旋转数字来计算可被 8 整除的旋转次数。

立即学习Java免费学习笔记(深入)”;

for ( ) {
   str = lastDigit + str.substring(0, str.length - 1);
   let num = parseInt(str);
   if (num % 8 == 0) {
      count++;
   }
}

在上面的语法中,我们获取数字字符串的最后一位数字并将其附加到字符串的开头以旋转数字。

算法

  • 第 1 步 - 将计数变量初始化为 0,表示最初的计数为零。

  • 步骤 2 - 使用 for 循环迭代数字字符串,并使总旋转等于数字字符串的长度。

  • 步骤 3 - 在 for 循环中,获取数字字符串的最后一位数字。另外,获取包含前 n-1 位数字的子字符串。

  • 第 4 步 - 在子字符串的开头附加最后一个数字以旋转数字字符串。

  • 第 5 步 - 使用 parseInt() 方法从字符串中提取数字。

  • 第 6 步 - 检查旋转是否能被 8 整除。如果是,则将计数值增加 1。

  • 第 7 步 - 一旦我们使用 for 循环检查所有旋转,就返回计数值。

    Khroma
    Khroma

    AI调色盘生成工具

    下载

示例 1

在下面的示例中,rotationsDivisibleBy8() 函数接受一个数字作为参数,并返回可被 8 整除的旋转总数。此外,我们首先使用 toString() 方法将数字转换为字符串,然后实现上述算法计算可被 8 整除的旋转次数。

<html>
<body>
   <h3> Program to find the total number of rotations divisible by 8 </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      const rotationsDivisibleBy8 = (number) => {
         let count = 0;
         //Count rotations divisible by 8 by rotating numbers
         let str = number.toString();
         for (let i = 0; i < str.length; i++) {
         
            //Get the last character of the string
            let lastDigit = str[str.length - 1];
            
            // rotating number
            str = lastDigit + str.substring(0, str.length - 1);
            
            // convert string to integer
            let num = parseInt(str);
            
            //Check if num is divisible by 8
            if (num % 8 == 0) {
               count++;
            }
         }
         return count;
      }
      let number = 90645232432;
      output.innerHTML = "Total count of rotations divisible by 8 of " + number + " is " + rotationsDivisibleBy8(number);
   </script>
</body>
</html>

检查三位数是否能被 8 整除

如果任何数字的最后三位数字能被8整除,我们就可以说整个数字能被8整除。所以,这里我们可以取一对连续的三个数字,并检查这对数字是否能被8整除。如果是,则表示末尾包含该三位数的旋转可以被8整除。

语法

用户可以按照下面的语法来计算可被 8 整除的旋转次数。

for ( ) {
   let pairOf3 = numStr.substring(i, i + 3);
   if (pairOf3 % 8 == 0) {
      count++;
   }
}

在上面的语法中,我们使用了 substring() 方法来获取三位数字对。

算法

  • 第 1 步 - 使用 toString() 方法将数字转换为字符串。

  • 步骤 2 - 如果数字的长度等于 1,如果该数字能被 8 整除,则返回 1;否则,返回0。

  • 步骤 3 - 如果数字的长度等于 2,请检查从可能的旋转和返回计数中可以被 8 整除的旋转次数。

  • 步骤 4 - 对于超过 3 位的数字,使用 substring() 方法并提取这对连续的三位数字。之后,检查该对是否能被 8 整除,并增加计数值。

  • 步骤 5 - 另外,检查包含最后两位数字和第一位数字、最后一位数字和前两位数字的对,并相应地增加“计数”的值。 p>

示例 2

在下面的示例中,我们使用 for 循环和 substring() 方法获取 n-2 对三位数,并检查它是否能被 8 整除。在输出中,用户可以观察到给定的数字包含总共 5 次旋转可被 8 整除。

<html>
<body>
   <h3> Program to find the total number of rotations divisible by 8 </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      const rotationsDivisibleBy8 = (number) => {
         let count = 0;
         let numStr = number.toString();
         let n = numStr.length;
         if (n == 1) {
            // for 1 digit
            return number % 8 == 0 ? 1 : 0;
         }
         else if (n == 2) {
         
            // for 2 digits
            if (number % 8 == 0) {
               count++;
            }
            let temp = numStr.substring(1, 2) + numStr.substring(0, 1);
            if (temp % 8 == 0) {
               count++;
            }
            return count;
         }
         else {
         
            // for 3 digits
            for (let i = 0; i < n - 2; i++) {
               let pairOf3 = numStr.substring(i, i + 3);
               if (pairOf3 % 8 == 0) {
                  count++;
               }
            }
            
            // for last two and first digit
            let lastTwo = numStr.substring(n - 2, n);
            let firstDigit = numStr.substring(0, 1);
            let lastTwoFirstDigit = lastTwo + firstDigit;
            if (lastTwoFirstDigit % 8 == 0) {
               count++;
            }
            
            // for last digit and first two digits
            let lastDigit = numStr.substring(n - 1, n);
            let firstTwo = numStr.substring(0, 2);
            let lastDigitFirstTwo = lastDigit + firstTwo;
            if (lastDigitFirstTwo % 8 == 0) {
               count++;
            }
            return count;
         }
      }
      let number = 104104104104104;
      output.innerHTML = "Total count of rotations divisible by 8 of " + number + " is " + rotationsDivisibleBy8(number);
   </script>
</body>
</html>

用户学习了两种不同的方法来计算可被 8 整除的旋转总数。在第一种方法中,我们获取所有可能的旋转并检查它是否能被 8 整除。在第二种方法中,我们使用数字的属性使其能被 8 整除,即能被 8 整除的数字的最后三位。

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

651

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1229

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1205

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

193

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

131

2025.08.07

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号