#include <stdio.h> #include <stdlib.h> int main() { int n; while( scanf("%d",&n)!= EOF ) { long long t = 0,sum,i,j,a = 0; if ( n == 1 ) printf("0 RANDOM\n"); else { sum = (n + 1) * 3; for( i = 2,j = 1; i <= n ; i++,j++) { a = a + j; t = t + a; } printf("%lld %lld\n",t,sum); } } return 0; }基本原理、设计步骤
时间: 2024-02-14 18:09:54 浏览: 91
C语言经典程序(适用C初学者)
这段代码实现了一个循环,每次读入一个正整数 n,然后计算出一些结果并输出。
具体的实现过程如下:
1. 进入主函数,定义一个整型变量 n。
2. 进入 while 循环,每次读入一个整数 n,如果输入结束则跳出循环。
3. 定义 long long 类型的变量 t、sum、i、j、a。其中 t 表示总的时间复杂度,sum 表示总的空间复杂度,i、j、a 分别是循环变量和一个累加器。
4. 判断 n 是否等于 1,如果是则直接输出 "0 RANDOM"。
5. 如果 n 不等于 1,则计算 sum 的值为 (n + 1) * 3。
6. 进入 for 循环,循环变量 i 从 2 开始递增,j 从 1 开始递增,每次循环都执行以下操作:
a. 计算 a 的值为 a + j。
b. 计算 t 的值为 t + a。
7. 循环结束后,输出 t 和 sum 的值。
8. 返回第 2 步,继续读入下一个整数 n。
9. 输入结束后,程序结束。
设计步骤:
1. 定义变量,包括 n、t、sum、i、j、a。
2. 进入循环,读入一个整数 n,判断是否等于 1。
3. 如果 n 等于 1,则直接输出 "0 RANDOM"。
4. 如果 n 不等于 1,则计算 sum 的值为 (n + 1) * 3。
5. 进入 for 循环,循环变量 i 从 2 开始递增,j 从 1 开始递增,每次循环都执行以下操作:
a. 计算 a 的值为 a + j。
b. 计算 t 的值为 t + a。
6. 循环结束后,输出 t 和 sum 的值。
7. 返回第 2 步,继续读入下一个整数 n。
8. 输入结束后,程序结束。
阅读全文