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

利用仓颉语言实现一个正整数中数字出现的频次统计

       自上次搭建好基于vscode的仓颉语言编程环境后,基于仓颉语言也做了一些应用实践,具体环境搭建详见之前文章。昨天应粉丝的需求,利用仓颉编程语言实现如何统计一个正整数中各个数字出现的次数的小应用。目前看仓颉可供参考的资料还是偏少,只能看官方的开发指南或sdk,详见华为官方文档,目前用各类搜索引擎或者deepseek等大模型搜索,回复基本都将其认为是一种输入法,查找内容都不理想。因此,本次就参考官网sdk进行了实现,其实实现原理很简单,如果用python、java等语言实现非常容易,整体思路就是采用除法取余方式计算每一位的数字是几并进行对应十个位置的存储记录和累积,最后输出即可。具体实现代码如下。供大家参考。

一、核心代码
import std.collection.*
import std.format.*main(): Int64 {// 输出文本字符串println("hello cangjie");var result = searchNum(123019912);println(result);return 0;
}func searchNum(number: Int64): String {var digit_count = Array<Int64>(10, item: 0);// 需要转存一下,不能直接使用参数变量var number2 = number;// 使用循环处理每个数字while (number2 > 0) {// 取出当前最低位的数字let digit2 = number2 % 10;// 增加该数字的计数digit_count[digit2] += 1;// 去掉当前最低位的数字number2 = number2 / 10;}// 用于存放for循环中的序号var i=0for (item in digit_count) {if (item == 0) {i = i+1;continue;}print("The digital ${i} 's count is:");println(item);i = i+1;}return "success";
}
二、应用效果

利用vscode执行上述程序后,对于整数为:123019912,实现效果见下图。

http://www.xdnf.cn/news/5548.html

相关文章:

  • 【洛谷P3386】二分图最大匹配之Kuhn算法/匈牙利算法:直观理解
  • AI知识点 | 大模型技术演变
  • 细说getOutputStream()方法
  • 代码随想录笔记---回溯篇
  • libcurl简单使用
  • SpringBoot 整合 Langchain4j 构建AI智能体应用
  • 《异常链机制详解:如何优雅地传递Java中的错误信息?》
  • 【RP2350】香瓜树莓派RP2350之USB虚拟串口
  • windows下安装python软件
  • Linux计划任务与进程
  • 【RP2350】香瓜树莓派RP2350之LED
  • 数字孪生概念
  • 本机的驱动
  • RoPE(旋转位置编码,参考:DeepSeek-V2)
  • Linux进程9-无名管道:1.概述、创建、读写数据、2.进程间通信、3.读写规律、4.fcntl设置阻塞、5.文件描述符概述及复制函数dup,dup2
  • Robot之VideoMimic:《Visual Imitation Enables Contextual Humanoid Control》翻译与解读
  • 安卓系统APP:志愿填报(基于Android平台的志愿填报程序)
  • LVGL环形加载器
  • Linux开机后启动Oracle数据库
  • redis数据结构-06(LRANGE、LINDEX、LSET、LREM)
  • 数字化工厂中央控制室驾驶舱系统架构文档
  • Transformer LLM
  • Linux数据库篇、第零章_MySQL30周年庆典活动
  • 关于chatshare.xyz激活码使用说明和渠道指南!
  • 3D虚拟工厂vue3+three.js
  • Babel 深度解析:现代 JavaScript 开发的桥梁
  • @RequestParam @RequestHeader @RequestBody 三者详解
  • 【英语笔记(四)】诠释所有16种英语时态,介绍每种时态下的动词变形!!含有所有时态的的动词变形汇总表格
  • C语言学习记录——深入理解指针(4)
  • 单片机-STM32部分:13、PWM