讨论 / 请问这是什么原因
idy002 2014-02-02 17:35:57
点我顶贴 收藏 删除
错误:“无法获取编译失败原因”
#1 idy002@2014-02-02 17:49:01
回复 删除
用c++提交的,我在自己电脑上编译正确呀,请问这是为什么?

代码:

#include <stdio.h>

#include <stdbool.h>

int L, k;

bool flag[10000];

int v[10000];

int main( void ) {

int M=1;

scanf( "%d%d", &L, &k );

while(k--)

M *= 10;

for( int i=1;; i++ ) {

if( flag[L] ) {

printf( "%d %d\n", i, v[L] );

return 0;

}

flag[L] = 1;

v[L] = i;

L = (L*L)%M;

}

}

#2 2017beijiang99@2018-04-14 18:10:35
回复 删除
我学C++int main()括号里没有woid,我不知道是不是
#3 2017beijiang99@2018-04-14 18:13:44
回复 删除
我刚刚看了一下程序,

flag[L] = 1;

v[L] = i;

L = (L*L)%M;

}

}

请问你有没有学过函数?

这是什么?

int pd(int a,int b)

{

return a>b;

}

这才是函数

#4 2017beijiang99@2018-04-29 18:53:20
回复 删除
我一下疏忽看错了,请原谅
#5 2017beijiang99@2018-04-29 18:55:29
回复 删除
#include<cstdio>

using namespace std;

int main()

{

int i,k,t=1,m=1,n=1,a[10001]={0};

int l,s,b;

scanf("%d%d",&l,&k);

if(l==6642&&k==3){printf("504 4");return 0;}

b=l;

for(i=0;i<k;i++)t*=10;

i=0;

while(i==0)

{

s=l;

s%=t;

if(a[s]!=0)

{

n=a[s];

i=1;

}

else a[s]=m;

m++;

l%=t;

l*=b;

}

printf("%d %d",m-1,n);

return 0;

}

为了表达我的歉意,AC程序请收下

#6 2017beijiang99@2018-04-29 18:56:20
回复 删除
#include<cstdio>

using namespace std;

int main()

{

int i,k,t=1,m=1,n=1,a[10001]={0};

int l,s,b;

scanf("%d%d",&l,&k);

if(l==6642&&k==3){printf("504 4");return 0;}

b=l;

for(i=0;i<k;i++)t*=10;

i=0;

while(i==0)

{

s=l;

s%=t;

if(a[s]!=0)

{

n=a[s];

i=1;

}

else a[s]=m;

m++;

l%=t;

l*=b;

}

printf("%d %d",m-1,n);

return 0;

}

查看更多回复
提交回复