UVa 12895
来源:互联网 发布:淘宝图片水印怎么去掉 编辑:程序博客网 时间:2024/06/16 03:38
题目:判断一个数是否是Armstrong Number,设数字N有n位,则每个数位上的数字的n次方的和为N。
分析:数论。直接按照题意模拟即可。
说明:不需要考虑溢出。
#include <stdio.h> #include <stdlib.h>int armstrong_number(int N){int S1 = N, order = 0;while (S1) {order ++;S1 /= 10;}int S2 = N;int add, ans = 0; // 9^9 < 1e9while (S2) {add = 1;for (int i = 0; i < order; ++ i) {add *= S2%10;}ans += add;S2 /= 10;}return ans == N;}int main(){int T, N;while (~scanf("%d",&T)) while (T --) {scanf("%d",&N);if (!armstrong_number(N)) {puts("Not Armstrong");}else {puts("Armstrong");}}return 0;}
阅读全文
1 0
- UVa 12895
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- spring boot简单的访问
- Java求解最小公倍数的常见算法。(求解最大公约数请看上篇文章)
- spring中MD5加密
- 最大团模板
- F1解读
- UVa 12895
- JAVA中堆和栈的区别
- 替换桌面快捷方式图标
- ListView详解
- OPENCV 遍历文件夹中的图片方法
- Java多线程
- [Motion]MPU9250的基本框架
- C# 属性的代码生成失败。错误是无法将属性转换为InstanceDescriptor
- 快速入门微信硬件jsapi教程全集