列表

详情


NC21661. or2?Scum!

描述

当一个正整数能被2或者3或者5或者7整除,我们定义这个数为or2数 给定正整数 ,
求问这个数是否是
or2数,如果是,则输出他是第几大的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;}

上一题