C++作业报告2

本文通过两个C++程序示例介绍了如何找出特定范围内的质数和完数。第一个程序输出1000到10000之间个位与千位相同的质数;第二个程序则展示了如何找到1到1000之间的所有完数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题及代码

/*
* 文件名称:输出质数
* 作    者:赖豪运
* 完成日期:2017 年 3 月 13 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:循环
* 输入描述:无需输入
* 问题描述:输出1000-10000之间,个位和千位相等的所有质数
* 问题分析:循环语句
* 算法设计:循环语句
*/
#include<iostream>  
using namespace std;
int main()
{
	int i, j, a, b, m;
	for (i = 1000; i<10000; i++)
	{
		a = i % 10;
		b = i / 1000;
		if (a == b)
		{
			m = 1;
			for (j = 2; j<i; j++)
				if (i%j == 0)
				{
					m = 0;
					break;
				}
			if (m == 1)
				cout << i << " ";

		}
	}
	cin.get();
	cin.get();
	return 0;
}

二、运行结果


一、问题及代码

/*
* 文件名称:输出完数
* 作    者:赖豪运
* 完成日期:2017 年 3 月 13 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:循环
* 输入描述:无需输入
* 问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。
* 问题分析:循环语句
* 算法设计:循环语句
*/
#include<iostream>
using namespace std;
int main()
{
	int i, j, k, sum = 0;
	for (i = 1; i <= 1000; i++)
	{
		j = i;
		sum = 0;
		for (k = 1; k<j; k++)
		{
			if (i%k == 0) sum += k;
		}
		if (sum == i) cout << i << endl;
	}
	cout << endl;
	getchar();
	cin.get();
	cin.get();
	return 0;
}

二、运行结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值