NC21661. or2?Scum!
描述
输入描述
多组数据(不超过1e5组,读到文件结束)
每组数据一行:一个正整数x(1≤x≤1e18)
输出描述
对于每个输入,输出一行。
如果是or2数,输出or2 c,表示它是第c大的or2数 否则输出字符串Scum
示例1
输入:
2 4 11
输出:
or2 1 or2 3 Scum
C(clang 3.9) 解法, 执行用时: 61ms, 内存消耗: 2452K, 提交时间: 2018-12-08 22:28:25
#include<stdio.h> int main() { long long int n; while(scanf("%lld",&n)!=EOF) { if(n%2==0||n%3==0||n%5==0||n%7==0) printf("or2 %lld\n",n/2+n/3+n/5+n/7-n/6-n/10-n/14-n/15-n/21-n/35+n/30+n/42+n/70+n/105-n/210); else printf("Scum\n"); } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 48ms, 内存消耗: 2540K, 提交时间: 2020-02-14 23:04:08
#include<stdio.h> int main() { long long n; while(~scanf("%lld",&n)) if(n%2!=0&&n%3!=0&&n%5!=0&&n%7!=0) printf("Scum\n"); else printf("or2 %lld\n",n/2+n/3+n/5+n/7-n/6-n/10-n/14-n/15-n/21-n/35+n/30+n/42+n/70+n/105-n/210); }
C++14(g++5.4) 解法, 执行用时: 52ms, 内存消耗: 2400K, 提交时间: 2019-02-10 00:52:17
#include<stdio.h> int main(){long long n;while(~scanf("%lld",&n))if(n%2&&n%3&&n%5&&n%7)printf("Scum\n");else printf("or2 %lld\n",n/2+n/3+n/5+n/7-n/6-n/10-n/14-n/15-n/21-n/35+n/30+n/42+n/70+n/105-n/210);return 0;}