首页 > 其他分享 >浙江理工大学入队200题——15G

浙江理工大学入队200题——15G

时间:2022-10-29 23:46:16浏览次数:49  
标签:200 15G int 因子 入队 完数 Copy 输入

问题 G: 零基础学C/C++167——判断是否完数

题目描述

编写一个判断一个数是否是完数的函数,用main()函数调用。并求n—m以内的完数有哪些?
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。

输入

输入为多组测试数据。
输入n和m( 1 <= n <=m <=10000)

输出

输出n到m之间的所有完数,两个完数之间用一个空格隔开

样例输入 Copy

2 8

样例输出 Copy

6

题解

完数优化的话只用从2查找到n/2+1就行(简单优化);
自定义函数比较方便理解;

代码(AC)

点击查看代码
#include <stdio.h>
int ws(int x)
{   int sum=0;
	for(int i=1;i<x;i++)
	{
		if(x%i==0) sum+=i; 
	}
	if(sum==x) return 1;  //异常退出为真 
	else return 0; //正常退出为假 
}
int main ()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=n;i<=m;i++)
	{
		int flag=0;
		if(ws(i)!=0)//ws(i)为真 
		{
			if(flag!=0) printf(" ");//if(flag)意为flag为真 
			printf("%d",i);
			flag=1;
		}
		if(i==m) printf("\n");
	}
	return 0;
}

标签:200,15G,int,因子,入队,完数,Copy,输入
From: https://www.cnblogs.com/codeshany/p/zstu_200_15G.html

相关文章

  • 浙江理工大学入队200题——14N
    问题N:零基础学C/C++159——最长字符串题目描述给定一系列不同长度的字符串,找出最长的一串后输出输入输入为多组测试数据。第一行为一个正整数n(n<=10),表示字符串的......
  • 浙江理工大学入队200题——14L
    问题L:零基础学C/C++157——保留尾部*题目描述多组读入,每组输入一行字符串,规定输入的字符串中只包含字母和号,除了尾部的号之外,请将字符串中其他*号全部删除。输入输......
  • 浙江理工大学入队200题——14M
    问题M:零基础学C/C++158——删除中间的*题目描述规定输入的字符串中只包含字母和号,除了字符串前导和尾部的号之外,将串中其他*号全部删除输入输入为多组测试数据。......
  • 浙江理工大学入队200题——14J
    问题J:零基础学C/C++155——句子比较大小题目描述从键盘输入几个句子(每个句子最多31个字符),对这几个句子按从小到大的顺序输出。输入有多组测试数据。每组测试数据第......
  • 浙江理工大学入队200题——14K
    问题K:零基础学C/C++156——删除前导*题目描述规定输入的字符串中只包含字母和号,请将字符串中的前导号全部删除,中间和尾部的*号不删除。输入输入为多组测试数据。输......
  • Windows Server 2008+IIS+php+MySQL环境搭建
    Win2008+IIS+php+MySQL环境搭建一、Windows环境操作系统:WindowsServer2008R2IIS版本:IIS7.5PHP版本:php5.6.9MySQL版本:MySQL5.7.40二、部署IIS1、打......
  • 浙江理工大学入队200题——14I
    问题I:零基础学C/C++154——加密程序2题目描述有一行电文,请将电文中大写字母按A→Z,B→Y,C→X,D→W,……,X→C,Y→B,Z→A,的规律译成密文,其他字符保持不变。输入多组测试......
  • 浙江理工大学入队200题——14D
    问题D:零基础学C/C++149——重组字符串题目描述输入一个以回车结束的字符串,将字符串中的字符按ASCII码从小到大顺序重组后输出。输入输入为多组测试数据。输入一个......
  • 浙江理工大学入队200题——14H
    问题H:零基础学C/C++153——恺撒加密题目描述有一行电文,请将电文中所有字母按A→F,B→G,……,U→Z,V→A,W→B,X→C,Y→D,Z→E,a→f,b→g,……,u→z,v→a,w→b,x→c,y→d,z→e的规律译成......
  • 浙江理工大学入队200题——13J
    问题J:零基础学C/C++145——进制转换II题目描述给定一个二进制表示的非负整数,将其转换为十六进制数。输入输入数据有多组,第一行为数据的组数T,接下来有T组数据。每组......