本文共 2652 字,大约阅读时间需要 8 分钟。
//18.3.10
cccc选拔赛/对..倒数第二那个就是我,还是因为倒数第一来晚了一个多小时= -...怎么说,比赛的时候还是很重要的吧,代码出现了问题要学会自己改= -...好困啊https://vjudge.net/contest/214770#rankD 水仙花数https://vjudge.net/contest/214770#problem/D题目应该不复杂,但是不知道为啥有一个小点///题意理解!!![题目]水仙花数是指一个 n 位数 ( n >= 3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)给出一个整数M,求 >= M的最小的水仙花数。Input一个整数M(10 <= M <= 1000)Output输出>= M的最小的水仙花数Sample Input99Sample Output153[代码是干嘛的?]不高效的重复是干嘛的,数据小就可以用for循环复制粘贴为所欲为吗???..最开始想... k=2 k=3 没了其实 n>=3.. 10<=M这就是一个坑(仔细读题)再然后.. 是>=M 的 不是说到了M 就终止了所以看[极限条件]的话,是输入1000之后输出比M 大最小水仙花数这时候k=2 k=3就很没劲了...所以还是不要偷懒了.. 所以还是不要偷懒了.....while (m) { k++; m =m/ 10; }这么一个题竟然有两个坑...幸好坐着坐着做对了[注意极限条件 注意极限条件]虽然m可以取到10但是大概率那时候是不行的m取到1000的时候也不是啥也不干而是向后巴拉巴拉D
#include///代码 F....相似的题昨天刚写了..... https://vjudge.net/contest/214770#status/StrongerIrene/F/0/ 1,判断素数的话其实也不复杂啊= - 稍微注意一下 **[最后+1//碰到自己[碰到自己的时候!]不算] [(手动醒目)]***** if (x%i == 0) sum = sum + i + (x / i); 下面是/ 上面是% 啊! %的话是0啊 2, for ( i = num1; i <= num2; i++) 这个等号,一定记得= - 很多地方的等号,都要一定记得= = 3,不容易想到啊,num1和num2没说哪个大哪个小啊 积累经验吧,这题目真的是 互换的话,,num1>num2才不满足条件,需要强行改成num1<num2的,才正常...(不会打句号)#include #include using namespace std;int main(){ int n; cin >> n; // 2 3 4 次方..肯定会超时吧= -// int k=0; int m; for (int i = n; ; i++) { m = i; int sum = 0; if (m < 100 && m >= 10)continue;//k = 2; int k = 0; while (m) { k++; m =m/ 10; } m = i; //if (m >= 100 && m < 1000)k = 3; //if (m >= 1000)k = 5; int l = k; while(k--) { sum = sum + pow((m % 10),l); m = m / 10; } if (sum == i) { cout << i << endl; break; } //if k=1000 impossible //int sum = 0; } return 0;}
#include#include #include using namespace std;bool nor(int x){// int k; int sum = 0; for (int i = 2; i*i <=x; i++)//这个就是sqrt? { if (x%i == 0) sum = sum + i + (x / i); } if (sum+1 == x)return true; return false;}int main(){ int n; cin >> n; //似乎打表就可以????这个题????? //等下完了吃完饭去找兔周写作业 while (n--) { int num1, num2; cin >> num1 >> num2; int k; if (num1 > num2) { k = num2; num2 = num1; num1 = k; } int count = 0;int i = 0; for ( i = num1; i <= num2; i++) { if (nor(i))count++; } cout << count << endl; } return 0;}
认真读题(严肃脸)
A https://vjudge.net/contest/214770#status/StrongerIrene/A/0/
这个其实也还好,读题读明白只是在求.. 只是在求这个字符串是不是劈开一半儿还对称罢了= -
完了?完了...
就是bool那里需要花点功夫......算是暴力搞的这个题- =上次好像因为没用bool而是急着直接输出YES 和NO搞错过几个
还是直接写bool来的方便和快.....
看了一下,这样写可以
有个人写的return 0 ,虽然过了但是我脚的应该不对()
然后... 在语句里面写break应该问题不大了,反正这两个要区分开
用if else这个真不错..... 我是把判断奇数这个扔下面去了==
一旦不符合就break也还行吧,用bool标记上(还是,别忙着输出'no")
(似乎bool q =false会不对?...有个小问题 留着晚上评论区解答)
转载地址:http://rmuti.baihongyu.com/