zoukankan      html  css  js  c++  java
  • 0071-求和问题

    题目

    求和问题
    难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
    试题描述

    输入一个正整数 m ,求出 sum = 1 + 2 + 3 + …… + n 的值不大于 m 时,n 的最大值及 sum 的值。

    输入
    一个 int 范围内的正整数 m 。
    输出
    两个数,分别表示符合题目要求的 n 和 sum,两数间用一个空格分隔。
    输入示例
    60
    输出示例
    10 55

    分析

      满足条件的算一下就行。这里直接用求和公式就好,没必要循环求和。同时注意最后输出时应输出n-1。因为后面的n++会多累加一个。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int m,n,sum;
    int main()
    {
    	scanf("%d",&m);
    	while((1+n)*n/2<m)//满足不超过m。
    	{
    		sum=(1+n)*n/2;//求和公式计算。
    		n++;//满足判断下一个。
    	}
    	printf("%d %d",n-1,sum);//输出n-1,
    	return 0;
    }
  • 相关阅读:
    Oracle 学习笔记4 SQL语言基础
    Oracle 学习笔记3 Sql Plus 命令
    连接扩展屏后,桌面上的图标自动跑到扩展屏上去了
    Oracle数据库基础知识
    ORACLE 学习笔记 2 Oracle 11g 体系结构
    EXCEL 连接Oracle 数据库
    虚拟机
    截取默写数据库无法识别的字符前几位的值
    c#的SerialPort在多线程环境下需要加锁
    32. 最长有效括号
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9739782.html
Copyright © 2011-2022 走看看