列表

详情


NC15376. 查三七

描述

查三七是酒桌上的一种游戏,人们依次按1,2,3,4报数,遇到的数字n,如果是3或7的倍数或者数字里含有3或7,不能报数,而是拍手,如果这个人没有拍手,而是说出了这个数,就要罚酒一杯。
达达自称是查三七的行家,这辈子没有输过。
轮到他报数了,他不假思索的报出了数字n。
请你帮他判断一下,他是不是需要罚酒一杯
(要求使用C语言)

输入描述

输入一个正整数n,即达达报出的数字

输出描述

输出他是否需要喝酒,需要输出1,不需要输出0

示例1

输入:

3001

输出:

1

说明:

数字里有3

示例2

输入:

9

输出:

1

说明:

9是3的倍数

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 4ms, 内存消耗: 336K, 提交时间: 2022-07-12 11:49:52

#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    if(n%3==0||n%7==0){printf("%d\n",1);return 0;}
    else
    {
        while(n){if(n%10==3||n%10==7){printf("%d\n",1);return 0;}n=n/10;}
        printf("%d\n",0);
    }
    //printf("%d\n",0);
    return 0;
}

C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 488K, 提交时间: 2020-04-18 21:35:21

#include<iostream>
using namespace std;
int main()
{
	long long f;
	cin>>f;
	if(f%3==0||f%7==0)
	{
		cout<<1;
		return 0;
	}
	while(f!=0)
	{
		if((f%10)%3==0||(f%10)%7==0)
		{
			cout<<1;
			return 0;
		}
		f/=10;
	}
	cout<<0;
}

C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 504K, 提交时间: 2020-03-15 10:14:13

#include<stdio.h>
int main()
{
	int a,b;
	b=0;
	scanf("%d",&a);
	if(a%7==0||a%3==0)
	b=1;
	for(a;a>0;a=a/10)
	{
		if(a%10==7||a%10==3)
		{
			b=1;
			break;
		}
	}
	printf("%d",b);
	return 0;
}

Python3(3.5.2) 解法, 执行用时: 22ms, 内存消耗: 3496K, 提交时间: 2018-04-09 17:21:39

n=input()
if int(n)%3==0 or int(n)%7==0 or "3" in n or "7" in n:print(1) 
else:print(0)

上一题