acm水题3个:1.求最大公约数;2.水仙花数;3.判断完数
//7.求两个整数的最大公约数
#include<stdio.h>
//用穷举法求出最大公约数
int gcd1(int m,int n)
{
int min = m > n ? n : m;
while (min)
{
if (m%min == 0 && n%min == 0)
{
break;
}
else
{
min--;
}
}
return min;
}
//快速求最大公约数的算法,称为辗转相除法,以下用递归实现
int gcd2(int m,int n)
{
if (n==0)
{
return m;
}
return gcd2(n, m%n);
}
int main()
{
int n, m;
while (~scanf("%d%d",&m,&n))
{
//printf("最大公约数为:%d\n", gcd1(m, n));
printf("最大公约数为:%d\n", gcd2(m, n));
}
return 0;
}
//8、“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,/
//比如:153=1^3+5^3+3^3,输入一个整数,判断它是否是水仙花数。
#include<stdio.h>
int cube(int a)
{
return a*a*a;
}
int main()
{
int n;
int temp;
int g;//个位
int s;//十位
int b;//百位
int num[4];
int sum;
while (~scanf("%d",&n))
{
//temp用来记录原来的n,因为后面n会被改掉
temp = n;
sum = 0;//sum用来记录各数的立方和
for (int i = 0; i < 3; i++)
{
num[i] = n % 10;
sum += cube(num[i]);
n /= 10;
}
if (sum==temp)
{
printf("此三位数是水仙花数\n");
}
else
{
printf("此三位数不是水仙花数\n");
}
/*g = n % 10;
n /= 10;
s = n % 10;
n /= 10;
b = n % 10;
if (temp == (cube(g) + cube(s) + cube(b)))
{
printf("此三位数是水仙花数\n");
}
else
{
printf("此三位数不是水仙花数\n");
}*/
}
return 0;
}
//9、完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,
//则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。输入一个整数,判断它是否是完数。
#include<stdio.h>
int main()
{
int n;
int temp;//用来记录所有因子之和
while (~scanf("%d",&n))
{
temp = 0;//每次一次都要初始化一次
for (int i = 1; i <= n / 2; i++)
{
if (n%i==0)
{
temp += i;
}
}
if (temp==n)
{
printf("此数是完数\n");
}
else
{
printf("此数不是完数\n");
}
}
return 0;
}
参考博客:http://blog.csdn.net/hackbuteer1/article/details/6667026
acm水题3个:1.求最大公约数;2.水仙花数;3.判断完数的更多相关文章
- ACM水题
ACM小白...非常费劲儿的学习中,我觉得目前我能做出来的都可以划分在水题的范围中...不断做,不断总结,随时更新 POJ: 1004 Financial Management 求平均值 杭电OJ: ...
- java求1000以内的水仙花数
水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 三位的水仙花数共有4个,分别为:153.370. ...
- HD ACM 水题顺序
原文传送门:http://acm.hdu.edu.cn/ 第一阶段:开始入门吧!(15天,53题) 一.输入输出练习(2天,10题) 1000.1089-1096.1001 二.简单操作:(2-4天, ...
- 2009 ACM 水题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2009 思路:寻找平方根的函数,c++里面有sqrt,一定要注意 1 添加头文件#include <i ...
- 2186 ACM 水题 int 向下取整
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2186 扩展: #include <cstdio> 使用floor函数.floor(x)返回的是 ...
- 2107 ACM 水题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2107 题意:比较大小,即使简单还是没有一次过,粗心的我,终于放假了,虽然我平时课还是有点多,但是希望自己能 ...
- python练习笔记——求三位的水仙花数
百位数的立方 + 十位数的立方 +个位数的立方 = 原数 for m in range(1,10): for n in range(0,10): for i in range(0,10): a = m ...
- hdu 1201:18岁生日(水题,闰年)
18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 用js 的for循环打印三角形,提取水仙花数,求本月多少天
第一题:用for循环打印三角形 //第一个 for(var x = 1;x <= 4;x++){ //控制行数 :由 1 到 4 for(var y = 1;y <= x;y++){ // ...
随机推荐
- python3 第八章 - 完善九九乘法表
前面我们在第四章的时候挖了个坑:怎么用优雅的方式来打印九九乘法表.这一章我们就来填上这个坑. 首先,我们再来看下九九乘法表是什么样子的 1 x 1 = 1 1 x 2 = 2 2 x 2 = 4 1 ...
- linkin大话面向对象--类和对象
我们每天在撸码,那么我们在敲什么东西呢?明显的我们在写类,写一个类,写一个接口,写某个接口里面写一些属性,在某个类里面写一个方法,然后以一个对象调用方法,对于j2ee来讲的话,可能还会写一些jsp,静 ...
- VNC配置
简介 VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 UNIX ...
- 关于Linux的常忘命令积累
1.在vim中显示行号 在/etc/vimrc里加上一行 set nu! 2./etc/sysconfig/network-scripts/ifcfg-eth0 (DNS1=192.168.1 ...
- Linux下查找大文件以及目录
转自:http://www.cnblogs.com/kerrycode/p/4391859.html 在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在 ...
- C# Ioc ASP.NET MVC Dependency Injection
ASP.NET MVC Dependency Injection 同志们,非常快速的Ioc注册接口和注入Mvc Controller,步骤如下: 安装Unity.Mvc NuGet Package 在 ...
- redis基础知识
特点 内存+磁盘的持久化保存 具有非常丰富的数据类型,尤其擅长数组类数据的高速度处理 数据快照 自带的主从复制 丰富的数据类型 字符串 链表 集合 有序集合 散列表 适用场景 时间线应用 得益于链表的 ...
- HTML图片上下之间的空隙是什么原因
在这个问题上,<权威指南>该书第三版第 146 页有明确说到: 如果一个垂直元素没有基线——也就是说,这是一个图像或表单输入元素,或者其它替换元素——那么该元素低端与其父元素的基线对齐.这 ...
- 2017年总结的前端文章——border属性的多方位应用和实现自适应三角形
border属性是在实际的应用中使用频率比较高的一个属性,除了作为边框使用,利用border属性的一些特征以及表现方式,可以在实现一些比较常见的效果(如等高布局,上下固定内容滚动布局和绘制CSS图标等 ...
- 序列化与transient
满足下面四个条件中的一个的类就不应该被序列化: 1.一个类与本地代码(native code)有紧密的关系,如java.util.zip.Deflater,这个类中很多都是native的. 2.对象 ...