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

河南做网站送记账写作网站排行榜

河南做网站送记账,写作网站排行榜,沈阳百度seo排名优化软件,个人备案的域名拿来做别的网站小数第n位 题目描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。如果我们把有限小数的末尾加上无限多个0,那么有限小数和无限小数就都有了统一的形式。 本题的任务是:在上面的约定下,求整数除法…

小数第n位

题目描述

我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。如果我们把有限小数的末尾加上无限多个0,那么有限小数和无限小数就都有了统一的形式。
本题的任务是:在上面的约定下,求整数除法小数点后的第 n 位开始的 3 个数字。

输入描述

输入一行三个整数:a,b,n,用空格分开。a是被除数,b是除数,n 是所求的小数后位置(0<a, b,n< 109)
比如,a=1,b=8,则a/b=1/8=0.125。如果n=1,输出为125;n=2,输出为250;n=3,输出为500

输出描述

输出一行 3 位数字,表示:a 除以 b,小数后第 n 位开始的 3 位数字。

输入输出样例

示例

输入
1 8 1
输出
125

一般解法(然并卵)
1,将a/b的结果保存为字符串;
2,把字符串中小数点的位置找出来,然后向后移动n位;
3,对字符串切片,把index+n : index+n+3的子字符串截取出来;
4,如果子字符串的长度不够,末尾用0补足

import os
import sys# 请在此输入您的代码
a, b, n = map(int, input().split())
# 先进行除法运算得到小数形式(字符串表示),注意Python中整数除法会得到整数结果,这里要转为浮点数除法
result = str(a / b)
# print(result)# 找到小数点的位置
dot_index = result.find('.')# 如果n大于总长度(包含小数点)则不符合要求,
if dot_index + n < len(result) and n < 1000000000:# 提取从第n位开始的3位数字sub_result = result[dot_index + n: dot_index + n + 3]# 如果不足3位数字,在末尾补0if len(sub_result) < 3:sub_result += '0' * (3 - len(sub_result))
print(sub_result)

输入输出结果略。

然后就是只通过了一个测试用例。心中挺纳闷的。
后来看了其他作者分享的内容,才知道自己想法错了。
https://blog.csdn.net/red_red_red/article/details/89843256,
https://blog.csdn.net/A_ACM/article/details/88304399
换个思路,这道题的解法是这样:
1,获得a,b,n并转换为整数。
2,目标值即为(a ÷ b)× 10n+2 % 1000 = a× 10n+2 % (b × 1000)/ b
3,然后用快速求幂
感谢@胡歌爱亦菲 ,感谢@qdu_zhaiH,虽然还是一头雾水没看怎么看懂。

代码实现:
Python 实现

# 快速幂函数,用于计算a的b次方对mod取模的结果
def q_pow(a, b, mod):res = 1while b:if b & 1:res = (res * a) % moda = (a * a) % modb >>= 1return res# 使用map函数将输入的字符串转换为整数,并分别赋值给a1, b1, n
a1, b1, n = map(int, input().split())# 计算取模的数值
mod = b1 * 1000
# 调用快速幂函数计算结果
res = q_pow(10, n + 2, mod)
# 进行临时计算
tem = (a1 % mod * res % mod) % mod
# 按照格式化要求输出结果,确保输出三位宽度,不足三位前面补0
print(f"{tem // b1:03d}")

JAVA 实现

import java.util.Scanner;public class Main {// 快速幂函数,用于计算a的b次方对mod取模的结果static long q_pow(long a, long b, long mod) {long res = 1;while (b > 0) {if ((b & 1) == 1) {res = (res * a) % mod;}a = (a * a) % mod;b >>= 1;}return res;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 获取用户输入的三个整数,分别赋值给a1, b1, nlong a1 = scanner.nextLong();long b1 = scanner.nextLong();long n = scanner.nextLong();// 计算取模的数值long mod = b1 * 1000;// 调用快速幂函数计算结果long res = q_pow(10, n + 2, mod);// 进行临时计算long tem = (a1 % mod * res % mod) % mod;// 按照格式化要求输出结果,确保输出三位宽度,不足三位前面补0System.out.printf("%03d\n", tem / b1);scanner.close();}
}

C++实现

#include <iostream>
using namespace std;// 快速幂函数,用于计算a的b次方对mod取模的结果
long long q_pow(long long a, long long b, long long mod) {long long res = 1;while (b > 0) {if (b & 1) {res = (res * a) % mod;}a = (a * a) % mod;b >>= 1;// 右移操作,相当于b /= 2;}return res;
}int main() {long long a1, b1, n;// 获取用户输入的三个整数cin >> a1;cin >> b1;cin >> n;long long mod = b1 * 1000;// 调用快速幂函数计算结果long long res = q_pow(10, n + 2, mod);long long tem = (a1 % mod * res % mod) % mod;// 按照格式化要求输出结果,确保输出三位宽度,不足三位前面补0printf("%03lld\n", tem / b1);return 0;
}

C 实现

#include <stdio.h>// 快速幂函数,用于计算a的b次方对mod取模的结果
long long q_pow(long long a, long long b, long long mod) {long long res = 1;while (b > 0) {if (b & 1) {res = (res * a) % mod;}a = (a * a) % mod;b >>= 1;// 右移操作,相当于b /= 2;}return res;
}int main() {long long a1, b1, n;// 获取用户输入的三个整数scanf("%lld", &a1);scanf("%lld", &b1);scanf("%lld", &n);long long mod = b1 * 1000;// 调用快速幂函数计算结果long long res = q_pow(10, n + 2, mod);long long tem = (a1 % mod * res % mod) % mod;// 按照格式化要求输出结果,确保输出三位宽度,不足三位前面补0printf("%03lld\n", tem / b1);return 0;
}
http://www.yayakq.cn/news/429845/

相关文章:

  • 江苏省交通工程建设局网站免费图片制作网站模板
  • 国内做网站大公司给私人企业做网站推广
  • 免费申请网站永久网站建设专用名词
  • 最便宜的重庆网站建设百度站长工具查询
  • 网站的格式分类会网站开发 不会软件
  • 网站开发工程师需要会写什么区别wordpress文章刷新
  • 填写网站信息设计合理的h5制作开发
  • 企业级网站内容管理解决方案网站建设实验
  • 网站建设家乡网页设计模板武昌做网站
  • 德阳建设网站的公司免费网站建设网站优化软件
  • 网站建设彳金手指排名温州专业微网站制作公司
  • wordpress和discuz整合优化seo培训班
  • 建立网站如何赚钱建设营销型网站的步骤
  • 各大门户网站用什么做的node wordpress
  • 漫画交流网站怎么做石家庄哪家公司做网站好
  • 网站开发什么时候用缓存在线购物商城网站
  • 站长工具vi设计公司有哪些
  • 广州专业的网站建设公司排名wordpress固定连接出现中文
  • 开发高端网站建设价格深圳网站建设一条龙
  • 深圳市龙华区住房和建设局网站做手机网站的重要性
  • 图片展示网站网页制作图片大小代码
  • 怎么把微信公众号的文章wordpress洛阳网站seo
  • 第三方商城网站建设东莞seo建站如何推广
  • 广州网站建设优化方案淘宝客网站主机
  • 微信公众号h5网站开发php网站开发占比
  • wordpress更改站点名称手机网站外链怎么
  • 自适应网站的优劣杭州口碑好的电商有哪些公司
  • 快站建站怎么收费的怎么做品牌的官方网站
  • 购物网站如何推广北京死亡病例详情
  • html5 微网站 免费怎么推广我做的网站