import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m=0;
int n=0;
while(in.hasNext()){
m=in.nextInt();
n=in.nextInt();
if(m<n){
narcissus(m,n);
}
}
}
public static void narcissus(int m, int n){
int k=0;
boolean mark = false;
for(int i=m; i<=n; i++){
int sum=0;
k=i;
while(k!=0){
sum=sum+(k%10)*(k%10)*(k%10);
k=k/10;
}
if(i==sum) {
mark = true;
System.out.print(i+" ");
}
}
if(mark==false){
System.out.println("NO");
}
System.out.println();
}
}

1个回答

http://acm.hdu.edu.cn/showproblem.php?pid=2022 杭电求解2022，带解析的那种，【害羞】

#include<stdio.h> int main(void) { int T = 0, a = 0, count_a = 0, count_b = 0; long long A[1000] = { 0 }, B[1000] = { 0 }, SUM[1000] = { 0 }; scanf("%d", &T); while (T > 0) { a++; scanf("%lld %lld", &A[a], &B[a]); SUM[a] = A[a] + B[a]; T--; } for (T = 1; T <= a; T++) { printf("Case %d:\n%lld + %lld = %lld\n\n", T, A[T], B[T], SUM[T]); } } 为什么不能这么做？？每次提交显示wrong answer！why？

A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). 超过49个数之后一定会出现和之前的数组合相同的情况，这个我可以了解，但是 为什么最多经过49个数之后一定会出现周期呢？智商太低了，跪求解释

``` #include<iostream> #include<string> using namespace std; int main() { string in; char temp; int flag, flagv; int vowel = 0; int consonant = 0; while (cin >> in) { if (in == "end") break; flag = 1; flagv = 0; temp = '~'; for (int i = 0; i < in.size(); i++) { if (in[i] == 'a'||in[i]=='e'||in[i]=='i'||in[i]=='o'||in[i]=='u') { consonant = 0; flagv = 1; vowel++; if (vowel == 3) { flag = 0; break; } } else { vowel = 0; consonant++; if (consonant == 3) { flag = 0; break; } } if (temp == in[i] &&in[i]!='e'&&in[i]!='o') { flag = 0; break; } else temp = in[i]; } cout << "<" << in << "> " << "is "; flag == 1&&flagv==1 ? cout << "acceptable" : cout << "not acceptable"; cout << endl; } return 0; } ```

#include<stdio.h> #include<string> int c[10086]; int main() { int i,j,l,n,k,h; while(scanf("%d",&n)!=EOF) { memset(c,0,sizeof(c)); c[0]=1; k=0; if(n==0) printf("1\n"); else { for(j=1;j<=n;j++) { for(i=0;i<=k;i++) { c[i]=c[i]*j; } for(h=0;h<=k;h++) { if(c[h]>9999) { c[h+1]=c[h+1]+c[h]/10000; c[h]=c[h]%10000; if(c[k+1]>0) //*为什么这个if判断不能少 按道理不是一定会有c[k+1]>0吗，没有这一句我的结果前面多了两个0*// k++; } } } for(l=k;l>=0;l--) { if(l==k) printf("%d",c[l]); else { if(c[l]<10&&c[l]>=0) printf("000%d",c[l]); else if(c[l]<100&&c[l]>=10) printf("00%d",c[l]); else if(c[l]<1000&&c[l]>=100) printf("0%d",c[l]); else if(c[l]>=1000) printf("%d",c[l]); } } printf("\n"); } } return 0; }

![图片说明](https://img-ask.csdn.net/upload/201510/15/1444870735_573916.png) 我的代码 #include <stdio.h> int main(){ int n, i; int a, b; int x, sum; while(scanf("%d", &n) != EOF){ for (i = 0; i < n; i++){ scanf("%d", &a); for (b = 0; b < a; b++){ sum = 0; scanf("%d", &x); sum = sum + x; printf("%d", sum); printf("\n"); } } } return 0; }

#include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int N,i,j,k=0; double min; while (cin >> N&&N) { double *x = new double[N]; double *y = new double[N]; double *d = new double[N*(N-1)]; for (i = 0; i < N; i++) cin >> x[i] >> y[i]; for (i = 0; i < N-1; i++) { for (j = i + 1; j < N; j++) { if (x[i] == x[j] && y[i] == y[j]) d[k] = 0; else d[k] = (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]); k++; } } min = d[0]; for (k = 0; k < N*(N - 1) / 2; k++) if (min > d[k]) min = d[k]; if(min!=0) min = sqrt(min)/2; cout << setprecision(2) << fixed << min << endl; delete []x, y, d; } return 0; } 连续输入两次数据： 2 1 1 1 1 为什么第一次是0.00，第二次是-nan(ind)

Problem Description potato老师虽然很喜欢教书，但是迫于生活压力，不得不想办法在业余时间挣点外快以养家糊口。 “做什么比较挣钱呢？筛沙子没力气，看大门又不够帅...”potato老师很是无奈。 “张艺谋比你还难看，现在多有钱呀，听说还要导演奥运开幕式呢！你为什么不去娱乐圈发展呢？”lwg在一旁出主意。 嗯，也是，为了生存，就委屈点到娱乐圈混混吧，马上就拍一部激光电影《杭电记忆——回来我的爱》。 说干就干，马上海选女主角（和老谋子学的，此举可以吸引媒体的眼球，呵呵），并且特别规定，演员必须具有ac的基本功，否则直接out! 由于策划师风之鱼（大师级水王）宣传到位，来应聘的MM很多，当然包括nit的蛋糕妹妹等呼声很高的美女，就连zjut的jqw都男扮女装来应聘（还好被安全顾问hdu_Bin-Laden认出，给轰走了），看来娱乐圈比acm还吸引人哪... 面试那天，刚好来了m*n个MM，站成一个m*n的队列，副导演Fe(OH)2为每个MM打了分数，分数都是32位有符号整数。 一开始我很纳闷：分数怎么还有负的？Fe(OH)2解释说，根据选拔规则，头发染成黄色、化妆太浓、穿的太少等等都要扣分数的，扣的多了就可能是负分了，当然，如果发现话语中夹有日语，就直接给-2147483648分了。 分数送上来了，是我做决定的时候了，我的一个选拔原则是，要选一个面试分数绝对值（必须还是32位整数）最大的MM。 特别说明：如果不幸选中一个负分的MM,也没关系，因为我觉得，如果不能吸引你，那要想法恶心你。 Input 输入数据有多组，每组的第一行是两个整数m和n，表示应聘MM的总共的行列数，然后是m行整数，每行有n个，m和n的定义见题目的描述。 Output 对于每组输入数据，输出三个整数x,y和s，分别表示选中的MM的行号、列号和分数。 note:行号和列号从一开始，如果有多个MM的分数绝对值一样，那么输出排在最前面的一个（即行号最小的那个，如果行号相同则取列号最小的那个）。 Sample Input 2 3 1 4 -3 -7 3 0 Sample Output 2 1 -7

import java.math.BigInteger; import java.util.Scanner; public class A1042 { private static Scanner sc; public static void main(String []args){ sc = new Scanner(System.in); BigInteger n = sc.nextBigInteger(); while(n.intValue()<=10000){ if(!n.equals(BigInteger.valueOf(1))){ n = n.multiply(n.subtract(BigInteger.valueOf(1))); } System.out.println(n); n = sc.nextBigInteger(); } } } 为什么自己运行结果是正确的却编译不通过，提示Compilation Error

#include<stdio.h> int main() { long n,r; char a[10000]; while(scanf("%d%d",&n,&r) == 2) { if(n == 0) printf("0\n"); else { int i = 0; if(n<0){n=-n;printf("-");} while(n > 0) { a[i++] = n%r; n=n/r; } int j = i-1; for(; j >= 0; j--) { if(a[j] > 10) printf("%c",a[j]-10+'A'); else printf("%d",a[j]); } putchar('\n'); } } return 0; }
Coach Yehr’s punishment 请问怎么算
Problem Description During the Mult-University Trainging,Coach Yehr asks all the ACM teammates to jog at 6:30AM.But 6:30 is too early,there are always somebody might be late.Coach Yehr likes AC sequence very much,the AC sequence is a number sequence with all the elements different.A sequence (S1 ,S2 ,S3 ……Sn ) is a AC sequence if S1 ,S2 ,S3 ……Sn are all different. There are N teammates,the time(in second time) every teammate’arrival make a number sequence with length N. In order to punish the laters,Coach Yehr give them a puzzle,Coach Yehr choose a subsequence from Sa to Sb ,the laters must tell Coach Yehr the longest length of AC sequence in the subsequence as soon as possible. Input There are multiply text cases.You must deal with it until the end of file. The first line of each test case is an interger N,indicates the number of ACM teammates; The second line have N intergers,the i-th number indicates the i-th teammate’s arrival time. The third line is an interger M indicates Coach Yehr will ask M times; The follow M lines,each line have two intergers a and b,indicate the interval of the sequence. Output For each query,you have to print the longest length of AC sequence in the subsequence in a single line. Sample Input 8 3 2 5 6 8 3 2 6 2 2 4 1 8 6 5 3 1 2 3 4 1 6 3 3 Sample Output 3 5 4 2

Problem Description potato老师虽然很喜欢教书，但是迫于生活压力，不得不想办法在业余时间挣点外快以养家糊口。 “做什么比较挣钱呢？筛沙子没力气，看大门又不够帅...”potato老师很是无奈。 “张艺谋比你还难看，现在多有钱呀，听说还要导演奥运开幕式呢！你为什么不去娱乐圈发展呢？”lwg在一旁出主意。 嗯，也是，为了生存，就委屈点到娱乐圈混混吧，马上就拍一部激光电影《杭电记忆——回来我的爱》。 说干就干，马上海选女主角（和老谋子学的，此举可以吸引媒体的眼球，呵呵），并且特别规定，演员必须具有ac的基本功，否则直接out! 由于策划师风之鱼（大师级水王）宣传到位，来应聘的MM很多，当然包括nit的蛋糕妹妹等呼声很高的美女，就连zjut的jqw都男扮女装来应聘（还好被安全顾问hdu_Bin-Laden认出，给轰走了），看来娱乐圈比acm还吸引人哪... 面试那天，刚好来了m*n个MM，站成一个m*n的队列，副导演Fe(OH)2为每个MM打了分数，分数都是32位有符号整数。 一开始我很纳闷：分数怎么还有负的？Fe(OH)2解释说，根据选拔规则，头发染成黄色、化妆太浓、穿的太少等等都要扣分数的，扣的多了就可能是负分了，当然，如果发现话语中夹有日语，就直接给-2147483648分了。 分数送上来了，是我做决定的时候了，我的一个选拔原则是，要选一个面试分数绝对值（必须还是32位整数）最大的MM。 特别说明：如果不幸选中一个负分的MM,也没关系，因为我觉得，如果不能吸引你，那要想法恶心你。 Input 输入数据有多组，每组的第一行是两个整数m和n，表示应聘MM的总共的行列数，然后是m行整数，每行有n个，m和n的定义见题目的描述。 Output 对于每组输入数据，输出三个整数x,y和s，分别表示选中的MM的行号、列号和分数。 note:行号和列号从一开始，如果有多个MM的分数绝对值一样，那么输出排在最前面的一个（即行号最小的那个，如果行号相同则取列号最小的那个）。 Sample Input 2 3 1 4 -3 -7 3 0 Sample Output 2 1 -7

![图片说明](https://img-ask.csdn.net/upload/201610/14/1476440219_623656.png) import java.util.Scanner; import java.text.DecimalFormat; public class Main { public static void main(String[] agrs) { Scanner in = new Scanner(System.in); int n; int m; while(in.hasNext()){ n = in.nextInt(); m = in.nextInt(); new Arange(n,m); } } } class Arange{ Scanner in = new Scanner(System.in); DecimalFormat ft = new DecimalFormat("0.00"); int a; public Arange(int n, int m){ double sum[] = new double[n]; double sum1[] = new double[m]; int[][] s = new int[n][m]; for(int i=0; i<n; i++){ for(int j=0; j<m; j++) { s[i][j] = in.nextInt(); } } for(int i=0; i<n; i++){ sum[i]=0; for(int j=0; j<m; j++) { sum[i] += s[i][j]; } sum[i]=sum[i]/m; } for(int j=0;j<m;j++){ sum1[j]=0; for(int i=0;i<n;i++){ sum1[j] += s[i][j]; } sum1[j] = sum1[j]/n; } for(int j=0;j<n;j++){ if(j==n-1) { System.out.printf(ft.format(sum[j])); System.out.println(); }else{ System.out.printf(ft.format(sum[j])+" "); } } for(int j=0;j<m;j++){ if(j==m-1) { System.out.printf(ft.format(sum1[j])); System.out.println(); }else{ System.out.printf(ft.format(sum1[j])+" "); } } int count1=0; for(int i=0;i<n;i++){ int count=0; for(int j=0;j<m;j++){ if(s[i][j]>sum1[j]){ count++; } } if(count==m){ count1++; } } System.out.println(count1); System.out.println(); } } 哪位大神知道什么地方错了，为什么总是错误

> 链接：https://ac.nowcoder.com/acm/contest/3570/A 来源：牛客网 集训队员一共n个人，HJ会为你提供每个人的编程能力值w。你需要找到编程能力值之和最大的三个人，输出他们的编程能力值之和。特别的，如果找不到一个队伍的编程能力值之和大于m，则输出"Waiver!"。 . . . 输入描述: 第一行输入一个整数n，一个整数m，中间用空格隔开。 第二行输入n个整数 . . ## 下面是我的代码 ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int goal = sc.nextInt(); int[] nums = new int[size]; for (int i = 0; i < size; i++) { nums[i] = sc.nextInt(); } for(int i =0; i < size - 1; i++) { for (int j = 0; j < size- i- 1; j++) { if(nums[j] > nums[j+1]) { int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } } int sum = nums[size-1] + nums[size-2] + nums[size-3]; if(sum < goal) { System.out.print("Waiver!"); } else System.out.print(sum); } } ``` . . . 但是并没有通过全部的测试用例。到底是哪里有问题呢

Java学习的正确打开方式

linux系列之常用运维命令整理笔录

Python十大装B语法
Python 是一种代表简单思想的语言，其语法相对简单，很容易上手。不过，如果就此小视 Python 语法的精妙和深邃，那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点，并附上详细的实例代码。如能在实战中融会贯通、灵活使用，必将使代码更为精炼、高效，同时也会极大提升代码B格，使之看上去更老练，读起来更优雅。 1. for - else 什么？不是 if 和 else 才

2019年11月中国大陆编程语言排行榜
2019年11月2日，我统计了某招聘网站，获得有效程序员招聘数据9万条。针对招聘信息，提取编程语言关键字，并统计如下： 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7

JDK12 Collectors.teeing 你真的需要了解一下

SQL-小白最佳入门sql查询一

【图解经典算法题】如何用一行代码解决约瑟夫环问题

“狗屁不通文章生成器”登顶GitHub热榜，分分钟写出万字形式主义大作

GitHub标星近1万：只需5秒音源，这个网络就能实时“克隆”你的声音

《程序人生》系列-这个程序员只用了20行代码就拿了冠军

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1...

【技巧总结】位运算装逼指南

【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块（文章最后附有源码） 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁，现如今各大云服务平台横空出世，市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统，而本人家里就有人在用烟草销售系统，直接在网上完成挑选、购买与提交收货点，方便又快捷。 试想，若没有烟草销售系统，本人家人想要购买烟草，还要独自前往药...
4G EPS 第四代移动通信系统