首页 > 编程语言 >C++入门——循环结构1

C++入门——循环结构1

时间:2024-08-11 22:26:06浏览次数:16  
标签:输出 入门 int 样例 C++ 循环 阶乘 水仙花 输入

重生之你是C++大佬,当你打开这篇博客,竟然发现这点小题简直易如反掌,于是摩拳擦掌,写他个几千行代码。

1.求前N项之和,直至和超过某一值为止

【问题描述】已知,计算该序列的前N项和SN,直到SN 大于q为止,q由键盘输入。

【输入形式】一个实型数据

【输出形式】一个实型数据

【样例输入】50 

【样例输出】50.4167

【样例说明】随着项数的增加,SN的值也在增大,SN超过50后的第一个值是50.4167

【题目解析】直到SN 大于q停止循环,一个条件就选用while语句。

#include<iostream>
using namespace std;
int main()
{
	double S=0, q, n=1;
	cin >> q;
	while (S < q)
	{
		S += double((n + 1) / n);//以防数据类型改变
		n++;
	}
	cout << S;
	return 0;
}

2.求水仙花数

【问题描述】编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。

【输入形式】输入一个正整数N。

【输出形式】输出从100到N之间的所有水仙花数,数之前用空格隔开。

【样例输入】400

【样例输出】153 370 371

【样例说明】输入一个的正整数400,输出为100~400之间的水仙花数153、370、371

【题目解析】如何判断水仙花数详见文章C++入门——选择结构1

循环操作如下:

#include<iostream>
using namespace std;
int main()
{
	int n,a,b,c;
	cin >> n;
	for (int i = 100; i <= n; i++)
	{
		a = i / 100;
		b = i / 10 % 10;
		c = i % 10;
		if (a * a * a + b * b * b + c * c * c == i)
			cout << i<<" ";
	}
	return 0;
}

3.求阶乘之和

【问题描述】求1~N的阶乘之和,N由键盘输入,注意:

【输入形式】一个正整数   

【输出形式】一个实型数据

【样例输入】10

【样例输出】4.03791e+006 

【样例说明】10的阶乘值很大,输出时计算机自动以指数形式输出,4.03791e+006 表示4.03791×106

【题目解析】内循环:求阶乘;外循环:求阶乘和

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	double S=0,m=1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= i; j++)//求阶乘
			m *= j;
		S += m;//阶乘和
		m = 1;
	}
	cout << S;
	return 0;
}

4.最大公约数和最小公倍数

【问题描述】输入两个正整数a和b,求出其最大公约数和最小公倍数并输出。

【输入文件】从标准输入读取一行,是两个整数a和b,以空格分隔。

【输出文件】向标准输出打印以空格分隔的两个整数,分别是a、b的最大公约数和最小公倍数

【输入样例】12 18

【输出样例】6 36

【样例说明】12和18的最大公约数是6,最小公倍数是36.

【题目解析】具体见下面代码

#include<iostream>
using namespace std;
int main()
{
	int m, n;
	cin >> m >> n;
	//公约数
	for (int i = min(m, n); i >= 1; i--)
	{
		if (m % i == 0 && n % i == 0) {
			cout << i<<" ";
			break;
		}
	}
	//公倍数
	for (int i = max(m, n); i <= m*n; i++)
	{
		if (i % m == 0 && i % n == 0) {
			cout << i << " ";
			break;
		}
	}
	return 0;
}

5.求数列前n项和

【问题描述】有一分数序列,计算该序列的前n项和,n由键盘输入。

【样例输入】20

【样例输出】32.6603

【样例说明】该数列前20项之和为32.6603

【题目解析】先找到序列的规律:前一项的分子=后一项的分母;前一项的分子+分母=后一项的分子,具体如下:

#include<iostream>
using namespace std;
int main()
{
	int N;
	cin >> N;
	double S=0,m=2.0,n=1.0;//m:分子,n:分母
	for (int i = 1; i <= N; i++)
	{
		S += m / n;
		int t = m;
		m = m + n;
		n = t;
	}
	cout << S;
	return 0;
}

循环结构第一部分就到这里,代码无情,人间有情,欢迎大家点赞评论加收藏。内容如有问题还请大家在评论区指点一二。

标签:输出,入门,int,样例,C++,循环,阶乘,水仙花,输入
From: https://blog.csdn.net/2401_86644481/article/details/141031743

相关文章

  • 洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails(c++)
    describe蜗牛在制定今天的旅游计划,有n个景点可选,它已经把这些景点按照顺路游览的顺序排成一排了,每个地方有相应的景观,这里用一个整数表示。蜗牛希望选取连续的一段景点,还要选出来的每一个景点的景观都不同,问它最多能选出多少个景点进行旅游。#include<iostream>#inc......
  • 基于Python的大模型学习手册(入门级)
    前言大模型(全称为大语言模型,英文名称:LargeLanguageModel),这个2023年刷爆了互联网圈的“现象级明星”,几乎以前所未有的姿态,席卷了各行各业,世人一时为之惊叹。同时,也开辟了各大厂商投入AI研发的新赛道。乘着这波“西风”,国内大模型开启了雨后春笋般的神奇发育,简直是“一浪......
  • C语言入门教程——手把手教零基础/新手入门(完整C语言学习笔记整理)
    前言    作为一名拥有多年开发经验的技术人员,我的职业生涯涵盖了多种编程语言,包括C语言、C++、C#和JavaScript等。出于对编程的热爱以及希望帮助更多初学者的目的,我决定利用业余时间整理一套全面的C语言学习指南。这套指南旨在为C语言初学者和编程爱好者提供......
  • C++提高编程—4、STL常用容器—list(链表)和queue(队列)
    7list容器 7.1基本概念 7.2 构造函数 7.3 赋值和交换 7.4 大小操作  使用10000来填充。7.5 插入与删除 7.6 数据存取 7.7 反转与排序  8set/multset容器 7.1基本概念7.2 构造和赋值7.3大小和交换7.4 插入与删除7.5 查......
  • 038.Vue3入门,使用keep-alive让组件保持存活
    1、App.vue代码如下:<template><button@click="change">切换组件</button><p></p><keep-alive><component:is="tabComponent"></component></keep-alive></template><scr......
  • 037.Vue3入门,动态组件
    1、App.vue代码如下:<template><component:is="tabComponent"></component><button@click="change">切换组件</button></template><script>importChild1from"./view/Child1.vue"importChi......
  • R 语言学习教程,从入门到精通,R 数据类型(6)
    1、R数据类型数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。R语言中的最基本数据类型主要有三种:数字逻辑文本数字常量主要有两种:逻辑类型在许多其他编程语言中常称为布尔型(Boolea......
  • DataWhale-2024夏令营第四期-从零入门AI生图原理&实践-学习笔记
    DataWhale-2024夏令营第四期-从零入门AI生图原理&实践-学习笔记Datawhale(linklearner.com)学习链接AI生图基础知识一、文生图(Text-to-ImageGeneration)历史随着深度学习的发展,近些年来越来越多的AI生图效果通过大语言模型得到了一定的提升。文生图的历史:文生图的概念最......
  • 036.Vue3入门,组件的生命周期
    1、App.vue代码如下:<template><div><h3>主页面</h3><button@click="change">改变</button></div></template><script>exportdefault{beforeCreate(){console.log('beforeCreate&#......
  • 034.Vue3入门,插槽Slot中同时显示主页面和插槽页面的内容
    1、App.vue代码:<template><div><h3>主页面</h3><Slot001v-slot="slotProps"><h4>{{msg}}==={{slotProps.msg}}</h4></Slot001></div></template><script>i......