/*过段时间再改吧,先保存下来(小的整数基本没毛病)*/ #include<stdio.h> #include"malloc.h" #include"math.h" int main() { int n,k,count=1,flag=1,j,temp; long po=1; scanf("%d%d",&n,&k); int *p=(int*)malloc(k*sizeof(int)); temp=n; for(j=k-1;j>=0;j--) { p[j]=temp%10; temp=temp/10; } po=n; while(flag) { count++; po*=n;//po=pow(n,count);精度不够 for(j=k-1;j>=0;j--) { if(po%10!=p[j]) break; else po=po/10; } if(j==-1) {flag=0;count--;} if(count>1000) {printf("-1\n");break;} } if(flag==0) printf("%d\n",count); return 0; }
0.0分
6 人评分
#include<stdio.h> #include<math.h> void main() { int num,n; int i,l,x=1,w[10000]; scanf("%d%d",&num,&n); if(num<pow(10,n-1)) printf("-1\n"); else { for(i=1;i<=10000;i++) { x*=num; w[i]=x%(int)pow(10,n); if(x>pow(10,n)) x=w[i]; // printf("i=%d,x=%d,w[%d]=%d\n",i,x,i,w[i]); } for(l=1;l<i;l++) { if(w[1]==w[1+l]&&w[1+l]==w[1+2*l]) { printf("%d\n",l); break; } } } } 帮看看错在何处,总是提示运行错误,在我本地运行是没有问题的
C语言程序设计教程(第三版)课后习题4.9 (C++代码)浏览:2202 |
点我有惊喜!你懂得!浏览:4145 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1059 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:912 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:1484 |
【亲和数】 (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:568 |
【计算两点间的距离】 (C语言代码)浏览:1522 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:582 |
扣脚的菜鸟 2021-05-21 09:08:59 |
我的也不行,看了上面大佬写的题解后感觉是pow()计算出的值太大,变量内存不够