解题思路:
注意事项:本人大一,水平有限,虽然超时了,但发现题解中没什么好方法,就献丑供大家参考了。
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int bit(int n);// 计算位数
int countK(int n,int k);//计算后K位数字大小
void main ()
{
int n;
int k;
int L;
int i;
scanf ("%d%d",&n,&k);
if (n==1)
{
printf("1");
}
else
{
if(k>bit(n))
{
printf("-1");
}
else
{
for (i=2; i>0; i++)
{
if (countK(n,k)==countK(pow(n,i),k))
{
break;
}
}
L=i-1;
printf("%d",L);
}
}
}
int bit (int n){
int i;
for (i=0;n!=0;i++){n=n/10;}
return i;
}
int countK(int n,int k){
return n%((int)pow(10,k)+1) ;//必须intpow 因为pow返回浮点数,且要+1 浮点数变整数会丢失精度
}
0.0分
3 人评分
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:682 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:510 |
C语言训练-自由落体问题 (C语言代码)浏览:1736 |
矩阵乘法 (C++代码)浏览:1460 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:738 |
程序员的表白 (C语言代码)浏览:657 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:567 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:535 |
1113题解浏览:784 |
酷酷流浪猫 2019-09-14 12:04:05 |
n最大达到了10的100次方达到了101位,长整型也满足不了,建议使用数组