上海计算机学会2021年4月月赛C++丙组T1巧妙的数

题目描述

如果一个十进制整数能够被它的每一个非零数码整除,则称它为巧妙的数,譬如 102 是一个巧妙的数,因为 102 能被 1 与 2 整除,而 2021 不是,因为它不能被 22整除。给定一个 n,请判定它是否为巧妙的数。

输入格式

单个整数:表示 n。

输出格式
  • 如果 n 是一个巧妙的数,输出 clever
  • 否则,输出 not clever
数据范围
  • 对于 30%的数据,1≤n≤109;
  • 对于 60%的数据,1≤n≤1018;
  • 对于 100的数据,1≤n≤101000。
样例数据

输入:

102

输出:

clever

输入:

2050

输出:

clever

输入:

13

输出:

not clever

题解

本题关键点: 模拟法进行计算,代码如下。

cpp 复制代码
#include<iostream>
#include <string>
using namespace std;
int main() {
	int a[10]; 
	int num[1010];   
	string s;
	cin>>s;
	int len = s.size();
	bool result = true; 
	for(int i = 0;i < s.size();i ++)
	{
		num[i] = s[i] - '0';
		a[num[i]] ++;   
	}		    
	for(int j = 1;j <= 9;j ++){  
		if(a[j]) { 
			int x = 0;  
			for(int i = 0;i < len;i ++){  
				x = x * 10 + num[i];
				x = x % j;
			}
			if(x != 0) {
				result = false; 
				break; 
			} 
		}
	}	
	if(result) {
		cout << "clever" ;
	}else {
		cout << "not clever";	
	}
	return 0;
}
相关推荐
Miraitowa_cheems16 分钟前
LeetCode算法日记 - Day 11: 寻找峰值、山脉数组的峰顶索引
java·算法·leetcode
Sammyyyyy28 分钟前
2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
开发语言·javascript·node.js
CoovallyAIHub38 分钟前
方案 | 动车底部零部件检测实时流水线检测算法改进
深度学习·算法·计算机视觉
CoovallyAIHub40 分钟前
方案 | 光伏清洁机器人系统详细技术实施方案
深度学习·算法·计算机视觉
lxmyzzs44 分钟前
【图像算法 - 14】精准识别路面墙体裂缝:基于YOLO12与OpenCV的实例分割智能检测实战(附完整代码)
人工智能·opencv·算法·计算机视觉·裂缝检测·yolo12
洋曼巴-young1 小时前
240. 搜索二维矩阵 II
数据结构·算法·矩阵
汉汉汉汉汉1 小时前
C++11新特性详解:从列表初始化到线程库
c++
William一直在路上1 小时前
Python数据类型转换详解:从基础到实践
开发语言·python
看到我,请让我去学习2 小时前
Qt— 布局综合项目(Splitter,Stacked,Dock)
开发语言·qt
GUET_一路向前2 小时前
【C语言防御性编程】if条件常量在前,变量在后
c语言·开发语言·if-else·防御性编程