上海计算机学会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;
}
相关推荐
clint4561 小时前
C++进阶(1)——前景提要
c++
用户497863050732 小时前
(一)小红的数组操作
算法·编程语言
夜悊5 小时前
C++代码示例:进制数简单生成工具
c++
怕浪猫5 小时前
Electron 系列文章封面图
算法·架构·前端框架
郝学胜_神的一滴6 小时前
CMake 021: IF 条件判据详诠
c++·cmake
徐小夕7 小时前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
_wyt00120 小时前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
LDR0061 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术1 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
通信小呆呆1 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人