Leading and Trailing
来源:互联网 发布:linux开发环境 编辑:程序博客网 时间:2024/06/05 19:30
computer n^k leading three digits.
n^k=a.
lg(a)=k*lg(a).
k*lg(a)=integer+decimal
10^lg(a)=a=10^(k*lg(a))=10^(integer+decimal)=10^integer*10^decimal
n^k=a.
lg(a)=k*lg(a).
k*lg(a)=integer+decimal
10^lg(a)=a=10^(k*lg(a))=10^(integer+decimal)=10^integer*10^decimal
10^integer*10 算出的整十的倍数
10^decimal才是计算真正结果的数字
1<10^decimal<10 所以10^(decimal+2) 就会求出前三位数注意后三位数 注意缺0情况
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <math.h>#include <algorithm>using namespace std;typedef long long ll;int pow_mod(int a,int n,int m){ int ans=1; while(n) { if(n&1) ans=ans*a%m; a=a*a%m; n>>=1; } return ans;}int fun(int n,int k){ double d=fmod(k*log10(n),1);///算出x/y的余数 double ans=pow(10,d+2); //double ans=pow(10,k*log10(n)-(int)(k*log10(n))+2); return (int)ans;}int main(){ int t; scanf("%d",&t); for(int i=1;i<=t;i++) { int n; int k; scanf("%d %d",&n,&k); printf("Case %d: %d %03d\n",i,fun(n,k),pow_mod(n%1000,k,1000)); } return 0;}
0 0
- 11029 - Leading and Trailing
- Leading and Trailing
- Leading and Trailing
- uva11029 - Leading and Trailing
- lightoj1282 - Leading and Trailing
- 1282 - Leading and Trailing
- lightoj Leading and Trailing
- Leading and Trailing [数学]
- Leading and Trailing LightOJ
- Leading and Trailing
- Leading and Trailing LightOJ1282
- Leading and Trailing LightOJ
- Leading and Trailing LightOJ
- Leading and Trailing LightOJ
- UVA 11029 Leading and Trailing
- UVA 11029 - Leading and Trailing
- uva 11029 - Leading and Trailing
- UVA - 11029 Leading and Trailing
- OC学习笔记之@property关键字
- PAT (Basic Level) Practise (中文)1012. 数字分类 (20) C语言
- Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理 .
- 多态
- android 实现代码混淆
- Leading and Trailing
- 异步的HTTP POST与GET请求例子
- python 中 高阶函数
- LeetCode java实现ZigZagConversion
- Android ListView的Item中的子view共存、抢夺焦点问题
- Quartz2.2.1 学习笔记(一)简单例子
- Android 、资源分目录存放
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- django框架使用angular js入门