1922. 统计好数字的数目-暴力解法和快速幂法
统计 快速 数字 解法 暴力 数目
2023-09-14 09:06:52 时间
1922. 统计好数字的数目
我们称一个数字字符串是 好数字 当它满足(下标从 0 开始)偶数 下标处的数字为 偶数 且 奇数 下标处的数字为 质数 (2,3,5 或 7)。
比方说,"2582" 是好数字,因为偶数下标处的数字(2 和 8)是偶数且奇数下标处的数字(5 和 2)为质数。但 "3245" 不是 好数字,因为 3 在偶数下标处但不是偶数。
给你一个整数 n ,请你返回长度为 n 且为好数字的数字字符串 总数 。由于答案可能会很大,请你将它对 109 + 7 取余后返回 。
一个 数字字符串 是每一位都由 0 到 9 组成的字符串,且可能包含前导 0 。
示例 1:
输入:n = 1
输出:5
解释:长度为 1 的好数字包括 “0”,“2”,“4”,“6”,“8” 。
示例 2:
输入:n = 4
输出:400
示例 3:
输入:n = 50
输出:564908303
暴力解法
if(n==1){
return 5;
}
for(int i=0;i<n;i++){
if(i%2==0){
re=re*5;
}
else{
re=re*4;
}
re=re%1000000007;
}
快速幂法:
long long mypow(long long x,long long n){
long long mul=x;
long long re=1;
while(n>0){
if(n%2==1){
n=(n-1)/2;
re=re*mul%1000000007;
}
else{
n=n/2;
}
mul=mul*mul%1000000007;
}
return re;
}
int countGoodNumbers(long long n){
return mypow(5,n-n/2)*mypow(4,n/2)%1000000007;
}
相关文章
- 循环录(输)入 java 课的学生成绩(5个学生),统计分数大于等于 80 分的学生
- java实现洛谷P1308统计单词数
- Java实现 蓝桥杯VIP 算法训练 统计单词个数
- Java实现 蓝桥杯 算法训练 字串统计
- 研究人员用数据统计的方法来做文学研究
- Android Studio 统计项目的代码总行数(转载)
- Leetcode2049: 统计最高分的节点数目(medium, DFS)
- 【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计
- 7-8 统计工龄 (20 分)
- Hive QL【Queries (select)】基本统计及分组函数:group by
- SQL VQ15 统计不同类型题目的刷题数,并按刷题数进行升序排列
- 【华为OD机试Python实现】HJ18 识别有效的IP地址和掩码并进行分类统计(较难)
- Leetcode 1295. 统计位数为偶数的数字
- 手把手教你做用户画像——标签数据开发:用户画像工程化的重点模块,包含统计类、规则类、挖掘类、流式计算类标签的开发,标签相关数据可存储在Hive、MySQL、HBase、Elasticsearch等数据库中
- [YOLOv7]基于YOLO&Deepsort的交通车流量统计系统(源码&部署教程)