自测代码(计算 n+(n-1)+(n-2)+....+3+2+1的值)-2021-7-17

本文介绍了一个简单的Java程序,该程序通过用户输入的整数n,计算并输出从1累加到n的所有整数之和。程序使用了for循环结构逐个累加从n递减至1的每个整数。

计算 n+(n-1)+(n-2)+…+3+2+1的值

package com.qianfeng.weekendDay01;

import java.util.Scanner;

public class WeekendWork01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int n; 		//输入的整数
		int sum = 0;		//从1-n的整数和
		
		System.out.print("请您输入需要计算的整数:");
		n = input.nextInt();
		
		for (int i = n; i >= 1; i--) {
			sum = sum + i;
		}
		
		System.out.println("从1到n的整数和为:" + sum);
		
		input.close();
	}

}

c++# P1058 [NOIP 2008 普及组] 立体图 ## 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们讲些自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。 小渊有一块面积为 $m \times n$ 的矩形区域,上面有 $m \times n$ 个边长为 $1$ 的格子,每个格子上堆了一些同样大小的积木(积木的长宽高都是 $1$),小渊想请你打印出这些格子的立体图。我们定义每个积木为如下格式,并且不会做任何翻转旋转,只会严格以这一种形式摆放: $$ \def\arraystretch{1e-10} \begin{aligned} &\verb! +---+!\\ &\verb! / /|!\\ &\verb!+---+ |!\quad\textsf{高}\\ &\verb!| | +!\\ &\verb!| |/ !\quad\textsf{宽}\\ &\verb!+---+ !\\ & \quad\textsf{长} \end{aligned}$$ 每个顶点用 $1$ 个加号 `+` 表示,长用 $3$ 个 `-` 表示,宽用 $1$ 个 `/`,高用两个 `|` 表示。字符 `+`,`-`,`/`,`|` 的 ASCII 码分别为 $43$,$45$,$47$,$124$。字符 `.`(ASCII 码 $46$)需要作为背景输出,即立体图里的空白部分需要用 `.` 来代替。立体图的画法如下面的规则: 若两块积木左右相邻,图示为: $$ \def\arraystretch{1e-10} \begin{aligned} \verb!..+---+---+!\\ \verb!./ / /|!\\ \verb!+---+---+ |!\\ \verb!| | | +!\\ \verb!| | |/.!\\ \verb!+---+---+..!\\ \end{aligned} $$ 若两块积木上下相邻,图示为: $$ \def\arraystretch{1e-10} \begin{aligned} \verb!..+---+!\\ \verb!./ /|!\\ \verb!+---+ |!\\ \verb!| | +!\\ \verb!| |/|!\\ \verb!+---+ |!\\ \verb!| | +!\\ \verb!| |/.!\\ \verb!+---+..!\\ \end{aligned} $$ 若两块积木前后相邻,图示为: $$ \def\arraystretch{1e-10} \begin{aligned} \verb!....+---+!\\ \verb!.../ /|!\\ \verb!..+---+ |!\\ \verb!./ /| +!\\ \verb!+---+ |/.!\\ \verb!| | +..!\\ \verb!| |/...!\\ \verb!+---+....!\\ \end{aligned} $$ 立体图中,定义位于第 $(m,1)$ 的格子(即第 $m$ 行第 $1$ 列的格子)上面自底向上的第一块积木(即最下面的一块积木)的左下角顶点为整张图最左下角的点。 ## 输入格式 第一行有用空格隔开的 $2$ 个整数 $m$ 和 $n$,表示有 $m \times n$ 个格子 $(1 \le m,n \le 50)$。 接下来的 $m$ 行,是一个 $m \times n$ 的矩阵,每行有 $n$ 个用空格隔开的整数,其中第 $i$ 行第 $j$ 列上的整数表示第 $i$ 行第 $j$ 列的格子上摞有多少个积木($1 \le $ 每个格子上的积木数 $ \le 100$)。 ## 输出格式 输出包含题目要求的立体图,是一个 $K$ 行 $L$ 列的字符串矩阵,其中 $K$ 和 $L$ 表示最少需要 $K$ 行 $L$ 列才能按规定输出立体图。 ## 输入输出样例 #1 ### 输入 #1 ``` 3 4 2 2 1 2 2 2 1 1 3 2 1 2 ``` ### 输出 #1 ``` ......+---+---+...+---+ ..+---+ / /|../ /| ./ /|-+---+ |.+---+ | +---+ |/ /| +-| | + | | +---+ |/+---+ |/| | |/ /| +/ /|-+ | +---+---+ |/+---+ |/| + | | | +-| | + |/. | | |/ | |/| +.. +---+---+---+---+ |/... | | | | | +.... | | | | |/..... +---+---+---+---+...... ``` ## 说明/提示 NOIP2008 普及组第四题
最新发布
12-01
题目描述 本步骤要求给定四个数字, 生成四个数字能构成的所有表达式树 。 本题要求生成的表达式树有次序,一个模糊的思路如下: void gen_expression_tree(BiTree &t, int num) { for(int i = 1; i < num; i++) { t->data = &ldquo;+-*/”中的一者 //按次序枚举 gen_expression_tree(t->lchild, i); gen_expression_tree(t->rchild, num - i); } } num是树中的数字个数。当num=1时,为叶子结点,结点的data域应该是数字,数字的出现次序也是有序的。 输入 输入仅一行,四个由空格分开的整数,整数的在[1,13]之间。 输出 按序输出四个数字能构成的所有表达式树,每个表达式树一行,输出表达式树的全括号表达式。一个硬性的要求是必须采用类似上面的递归算法。 例如输入1 2 3 4时,应该产生的输出前面部分如下(因为空间限制,我们在sample Output部分给出了输出的最后部分,但整体上依然不完整): (1+(2+(3+4))) (1+(2+(4+3))) (1+(2+(3-4))) (1+(2+(4-3))) (1+(2+(3*4))) (1+(2+(4*3))) (1+(2+(3/4))) (1+(2+(4/3))) (1+(3+(2+4))) (1+(3+(4+2))) (1+(3+(2-4))) (1+(3+(4-2))) (1+(3+(2*4))) (1+(3+(4*2))) (1+(3+(2/4))) (1+(3+(4/2))) (1+(4+(2+3))) (1+(4+(3+2))) (1+(4+(2-3))) (1+(4+(3-2))) (1+(4+(2*3))) (1+(4+(3*2))) (1+(4+(2/3))) (1+(4+(3/2))) (1+(2-(3+4))) (1+(2-(4+3))) (1+(2-(3-4))) (1+(2-(4-3))) (1+(2-(3*4))) (1+(2-(4*3))) (1+(2-(3/4))) (1+(2-(4/3))) (1+(3-(2+4))) (1+(3-(4+2))) (1+(3-(2-4))) (1+(3-(4-2))) (1+(3-(2*4))) (1+(3-(4*2))) (1+(3-(2/4))) (1+(3-(4/2))) (1+(4-(2+3))) (1+(4-(3+2))) (1+(4-(2-3))) (1+(4-(3-2))) (1+(4-(2*3))) (1+(4-(3*2))) (1+(4-(2/3))) (1+(4-(3/2))) (1+(2*(3+4))) (1+(2*(4+3))) (1+(2*(3-4))) (1+(2*(4-3))) (1+(2*(3*4))) (1+(2*(4*3))) (1+(2*(3/4))) (1+(2*(4/3))) (1+(3*(2+4))) (1+(3*(4+2))) (1+(3*(2-4))) (1+(3*(4-2))) (1+(3*(2*4))) (1+(3*(4*2))) (1+(3*(2/4))) (1+(3*(4/2))) (1+(4*(2+3))) (1+(4*(3+2))) (1+(4*(2-3))) (1+(4*(3-2))) (1+(4*(2*3))) (1+(4*(3*2))) (1+(4*(2/3))) (1+(4*(3/2))) (1+(2/(3+4))) (1+(2/(4+3))) (1+(2/(3-4))) (1+(2/(4-3))) (1+(2/(3*4))) (1+(2/(4*3))) (1+(2/(3/4))) (1+(2/(4/3))) (1+(3/(2+4))) (1+(3/(4+2))) (1+(3/(2-4))) (1+(3/(4-2))) (1+(3/(2*4))) (1+(3/(4*2))) (1+(3/(2/4))) (1+(3/(4/2))) (1+(4/(2+3))) (1+(4/(3+2))) (1+(4/(2-3))) (1+(4/(3-2))) (1+(4/(2*3))) (1+(4/(3*2))) (1+(4/(2/3))) (1+(4/(3/2))) (1+((2+3)+4)) (1+((2+4)+3)) (1+((3+2)+4)) (1+((3+4)+2)) (1+((4+2)+3)) (1+((4+3)+2)) (1+((2-3)+4)) (1+((2-4)+3)) (1+((3-2)+4)) (1+((3-4)+2)) (1+((4-2)+3)) (1+((4-3)+2)) (1+((2*3)+4)) (1+((2*4)+3)) (1+((3*2)+4)) (1+((3*4)+2)) (1+((4*2)+3)) (1+((4*3)+2)) (1+((2/3)+4)) (1+((2/4)+3)) (1+((3/2)+4)) (1+((3/4)+2)) (1+((4/2)+3)) (1+((4/3)+2)) (1+((2+3)-4)) (1+((2+4)-3)) (1+((3+2)-4)) (1+((3+4)-2)) (1+((4+2)-3)) (1+((4+3)-2)) (1+((2-3)-4)) (1+((2-4)-3)) (1+((3-2)-4)) (1+((3-4)-2)) (1+((4-2)-3)) (1+((4-3)-2)) (1+((2*3)-4)) (1+((2*4)-3)) (1+((3*2)-4)) (1+((3*4)-2)) (1+((4*2)-3)) (1+((4*3)-2)) (1+((2/3)-4)) (1+((2/4)-3)) (1+((3/2)-4)) (1+((3/4)-2)) (1+((4/2)-3)) (1+((4/3)-2)) (1+((2+3)*4)) (1+((2+4)*3)) (1+((3+2)*4)) (1+((3+4)*2)) (1+((4+2)*3)) (1+((4+3)*2)) (1+((2-3)*4)) (1+((2-4)*3)) (1+((3-2)*4)) (1+((3-4)*2)) (1+((4-2)*3)) (1+((4-3)*2)) (1+((2*3)*4)) (1+((2*4)*3)) (1+((3*2)*4)) (1+((3*4)*2)) (1+((4*2)*3)) (1+((4*3)*2)) (1+((2/3)*4)) (1+((2/4)*3)) (1+((3/2)*4)) (1+((3/4)*2)) (1+((4/2)*3)) (1+((4/3)*2)) (1+((2+3)/4)) (1+((2+4)/3)) (1+((3+2)/4)) (1+((3+4)/2)) (1+((4+2)/3)) (1+((4+3)/2)) (1+((2-3)/4)) (1+((2-4)/3)) (1+((3-2)/4)) (1+((3-4)/2)) (1+((4-2)/3)) (1+((4-3)/2)) (1+((2*3)/4)) (1+((2*4)/3)) (1+((3*2)/4)) (1+((3*4)/2)) (1+((4*2)/3)) (1+((4*3)/2)) (1+((2/3)/4)) (1+((2/4)/3)) (1+((3/2)/4)) (1+((3/4)/2)) (1+((4/2)/3)) (1+((4/3)/2))
06-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值