上海计算机学会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;
}
相关推荐
Wang's Blog4 小时前
Go-Zero 项目开发43:基于 Filebeat 收集各个服务的日志信息
开发语言·golang·go-zero·filebeat
丈剑走天涯5 小时前
JDK 17 正式特性
java·开发语言
秋田君5 小时前
QT_QFontDialog类字体对话框
开发语言·qt
圣光SG5 小时前
Java操作题练习(七)
java·开发语言·算法
麻瓜老宋6 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十三步,多行输入、进制输出、错误恢复、常量折叠、配置加载等
c语言·开发语言·atomcode
Cx330_FCQ7 小时前
Tmux使用
服务器·git·算法
q567315237 小时前
企业级 HTTP 代理采购选型:技术评估清单 15 项
开发语言·网络·爬虫·网络协议·http·隧道ip·代理ip
天天进步20157 小时前
Python全栈项目--智能办公自动化系统
开发语言·python
拳里剑气8 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
cm04Z9c918 小时前
C#摸鱼实录——IoC与DI案例详解
开发语言·c#