题目:链接地址
个人编写的Python3代码,为何提交验证不通过
import math
In = input()
F = filter(None, In.split(' '))
S = []
for i in F:
S.append(i)
C = int(S[0])
n = int(math.sqrt((C+1)/2))
n1 = -n
i = 0
while n >= n1:
if n >= 0:
print(' '*i, end='')
print(S[1]*(2*n+1))
n = n - 1
i = i + 1
if n < 0:
print(' '*(i-2), end='')
print(S[1]*(2*abs(n)+1))
n = n - 1
i = i - 1
n = -n1
print(C - ((n * n) * 2 - 1))
#include
int main()
{
int i,n,k;
char op1,op;
scanf("%d",&n);
getchar();
scanf("%c",&op);
printf("%c",op); /*明明能输出 op*/
int a[200];
for(i=1;i<=200;i++)
a[i]=2*i-1;
int sum=0,sum1=0;
for(i=1;i<=10;i++){
sum=sum+a[i];
sum1=2*sum;
if(sum1-1>=n){
k=i-1;
break;
}
}
int j,g,h,count=0;
for(i=k;i>=1;i--)
{
for(j=k-i;j>0;j--)
printf(" ");
for(j=1;j<=2*i-1;j++){
printf("%c",op); /*到循环里头为啥又输不出来*/
count++;
}
printf("\n");
}
for(i=1;i<=k-1;i++){
for(j=k-1-i;j>0;j--)
printf(" ");
for(j=1;j<=2*i+1;j++){
printf("%c",op); /*这里也没办法输出 op*/
count++;
}
printf("\n");
}
printf("%d",n-count);
return 0;
}
我也是打印沙漏 也是有答案错误,我自己调试的时候发现 循环里头的 printf()没办法调用,帮我看看为啥