我的代码是不是出问题了
题目描述分析如下代码
for(i=1;i<n;i++)
for(j=1;j<i;j++)
for(k=1;k<j;k++)
printf("\n");
问printf语句共执行了几次?这段代码执行完以后i+j+k值为多少?
输入
由多行组成,每行一个整数n, 1<= n <= 3000
输出
对每一行输入,输出对应的一行,包括空格分开的两个整数,分别代表printf语句的执行次数以及代码执行完以后i+j+k的值, 如果值不确定,输出"RANDOM"取代值的位置
样例输入
6
样例输出
10 15
#include<stdio.h>
int main()
{
int i,j,k,n,s,m;
while(scanf("%d",&n)!=EOF)
{
if(1<=n&&n<=3000)
{
if(n==1)
printf("0 RANDOM\n");
if(n==2)
printf("0 RANDOM\n");
if(n>=3)
{
s=3;
for(i=3;i<=n;i++)
s=s+3;
k=0,m=0;
for(j=3;j<=n;j++)
{
k=k+j-3;
m=m+k;
}
printf("%d %d\n",m,s);
}
}
}
return 0;
}
输入n=2347时m就变负数-2145765416了 正确答案是2149201880 直到2956再变正数 怎么回事啊