[湖南大学程序设计实训训练作业一]19.循环数(类似查找重复子字符串)

el/2024/5/22 20:25:43

19.循环数

  • 【知识补充】---类似查找重复字符串
  • 【问题描述】
  • 【输入形式】
  • 【输出形式】
  • 【样例输入】
  • 【样例输出】
  • 题解
    • 思路
    • 代码

【知识补充】—类似查找重复字符串

[如何用JavaScript征服Leetcode?]1.重复的子字符串
大家看一下思路就可以了,这个题解是用JS写得,但是有C基础应该看得懂的!

【问题描述】

循环数是n位长度的整数,当乘以从1到n的任何整数时,产生原始数字的“循环”。也就是说,如果考虑最后一个数字之后的数字“绕”回到第一个数字,两个数字中的数字序列将是相同的,尽管它们可能从不同的位置开始。例如,数字142857是循环的,如下表所示:

    142857 *1 = 142857142857 *2 = 285714142857 *3 = 428571142857 *4 = 571428142857 *5 = 714285142857 *6 = 857142 

编写一个程序来确定数字是否是循环数。

【输入形式】

输入一个数,长度在2到60位之间(请注意,前面的零不应该被删除,它们被认为是确定n的大小和计数的一部分,因此,“01”是一个两位数的数字,与“1”是一个一位数的数字不同。) 。

【输出形式】

对于每个输入,输出一行(Yes或No)标识它是否是循环数。

【样例输入】

142857

【样例输出】

Yes

题解

思路

  • 1.字符串*2得到包含所有循环情况的字符串ss
  • 2.s转num,for循环乘以i(1-s.length()),然后结果转字符串new_s
  • 3.我们看ss中是否包含new_s即可!
  • 注意:题解测试数据5没有通过,没有找到原因!

代码

#include<iostream>
#include<string>
#include<cstring>
#include<sstream>
using namespace std;
/*****************字符串转整型*************************/
int to_int(string str){int ans;stringstream ss;ss<<str;ss>>ans;return ans;
}
/*****************整型转字符串*************************/
string to_str(int num){string ans;stringstream ss;ss<<num;ss>>ans;return ans;
}
int main(){string s,ss;cin>>s;ss=s+s;//两倍原字符串方便find,两倍之后可以包含所有循环的情况 for(int i=1;i<=s.length();i++){int s_num=to_int(s);int temp=s_num*i;string new_s=to_str(temp);if(ss.find(new_s)==string::npos){cout<<"No"<<endl;return 0;}		}cout<<"Yes"<<endl;return 0;
} 

http://www.ngui.cc/el/3573943.html

相关文章

[湖南大学程序设计实训训练作业一]20.电能消耗

20.电能消耗【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路代码【问题描述】 汤姆对他最喜欢的笔记本电脑的耗电量很感兴趣。他的笔记本电脑有三种模式。在正常模式下&#xff0c;笔记本电脑每分钟消耗P1瓦。在汤姆最后一次移动鼠标或触摸键盘后的T1分…

[湖南大学程序设计实训训练作业一]21.计算效验码

21.计算效验码【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】【样例说明】【Tips】题解思路代码【问题描述】 传送一个B&#xff08;B≤16&#xff09;进制的数值N时&#xff0c;最后加上一个一位&#xff08;B进制的&#xff09;校验码&#xff0c;使得N加上…

[湖南大学程序设计实训训练作业一]作业一汇总篇

作业一汇总篇写在前面题目目录与题解地址写在前面 希望写这些题解能够帮助一些同学&#xff0c;当然大多数同学是不需要的&#xff0c;因为题目并不难。 万一&#xff0c;实在是有其他的事要做&#xff0c;提交前要改变量名哦&#xff01;不要暴露了才好&#xff01; 有问题我…

[JQuery学习笔记]jQuery事件导读

jQuery事件导读写在前面jQuery事件注册单个事件注册jQuery事件处理事件处理on()绑定事件on()方法优势1on()方法优势2on()方法优势3案例&#xff1a;发布微博案例事件处理off()解绑事件自动触发事件trigger()jQuery事件对象写在前面 能够说出4种常见的注册事件能够说出on绑定事…

[湖南大学程序设计实训训练作业二]1.字符串反转2(vector+reverse或者stack)

1.字符串反转2【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路代码1代码2【问题描述】 给定一个句子&#xff08;只包含字母和空格&#xff09;&#xff0c; 将句子中的单词位置反转&#xff0c;单词用空格分割, 单词之间只有一个空格&#xff0c;前后…

[湖南大学程序设计实训训练作业二]2.487-3279(次数问题用map)

2.487-3279【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路代码【问题描述】 每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如&#xff0c;你可以拨打滑铁卢大学的电话&#xff0c;拨打…

[湖南大学程序设计实训训练作业二]3.缺席考试的是谁?(map过一半,需用set优化)

3.缺席考试的是谁&#xff1f;【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路1思路2代码【问题描述】 程序设计考试结束了&#xff0c;传来个不好的消息&#xff1a;有一个学生没参加考试!需要尽快知道缺席考试的人是谁&#xff0c;以便尽快做出处理。…

[湖南大学程序设计实训训练作业二]5.点球大战

5.点球大战【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路代码【问题描述】 在足球比赛中&#xff0c;有不少赛事&#xff0c;例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中&#xff0c;当比赛双方经过正规比赛和加时赛之后仍然不分胜负时&#xff0c;需要…

[湖南大学程序设计实训训练作业二]6.飞行棋(递归模拟)

6.飞行棋【问题描述】【输入形式】【样例输入】【样例输出】题解思路代码【问题描述】 大家当年一定都下过飞行棋吧。现在Lele和Yueyue要下的棋和这个很相似&#xff0c;只是更简单一点而已。 棋盘由N个格子组成&#xff0c;分别标记为第0格到第N-1格。格子分为两种&#xff0…

[湖南大学程序设计实训训练作业二]7.棋盘

7.棋盘【问题描述】【输入形式】【输出形式】【样例输入】【样例输出】题解思路代码【问题描述】 棋盘是指一个行和列编号从1~N的NxN的二进制矩阵&#xff0c;当行号和列号之和为偶数时该矩阵对应位置为黑色的(1)&#xff0c;否则为白色的(0)。以下图示为N1、2、3时的棋盘。 …