幸运数的定义及其判断
幸运数的定义与判断
文章目录
- 幸运数的定义与判断
- 前言
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
前言
前几天作为我校一场比赛的压轴题出场,但可以通过骗分得到可观的分数,本人所用方法虽不是骗分,但本质上也是骗过系统得分。
- 原题链接:牛客网幸运数
- 幸运数的定义:
1、对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
2、然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
3、如果这个过程 结果为 1,那么这个数就是幸运数。
e.g:
19–>1,9
1²+9²=82
82–>8,2
8²+2²=68
68–>6,8
6²+8²=100
100–>1,0,0
1²+0²+0²=1
此时和为1,无需再往下运算,可认为19为幸运数
判断思路
1.在输入相应的n值后,利用while循环以及计数器算出该数为几位数
2.利用数组a[some]存放该数的每一位
3.通过for循环将此时的各位数平方求和,同时讲该值赋给n,让n进入下一次循环(在赋给n的同时定义的求和sum也要清零)
4.
- 在每次循环结束前判断n是否为1,若为1则停止循环,输出true
- 若不为幸运数,则需要在进行无数次循环后跳出循环,所以我们要引入新的计数器cnt2来记录循环次数,在计数器达到某一特定值时选择终止循环,并输出false,该方法仅适用于一些数比较小的情况。
二、使用步骤
1.引入库
#include <stdio.h>
2.读入数据
代码如下:
#include <stdio.h>
int a[1000];
int main ()
{int n;scanf("%d",&n);int cnt = 0,cnt2 = 0;int sum = 0;while(n != 0){cnt2++;while(n!=0){a[cnt++] = n%10;n /= 10;}int i;for(i =0;i < cnt;++i){sum += a[i]*a[i];}n = sum;sum = 0;cnt = 0;if( n == 1){printf("true");break;}if(cnt2==30)break;}if(cnt2==30)printf("false");
}
总结
通过骗过系统的测试点来得到分,虽无耻,但有用
幸运数的定义及其判断相关推荐
- 实现不使用乘、除、取余运算求商和余数及回文数的定义及判断
我们不妨先复习一下小学二年级学过的除法的定义:被除数/除数=商 ,这是我们在小学时经常用到的算法.现在,我们仔细在想一下,除法的本质到底是什么?我们假设一共有12块糖,分给四个小孩,这时你就会浮现出一 ...
- 没事刷刷LetCode——整除幸运数
整除幸运数 题目描述 假定幸运数是只包含4或7的正整数,如7.47.判断一个正整数是否能被一个幸运数整除.是则输出YES,否则输出N0.不考虑负数,0或者其他特殊情况.不考虑流出或者超出整型范围的情况 ...
- python计算区间内偶数和_Python 计算当真因子个数为偶数个时为幸运数,计算区间内幸运数之和...
晚饭后朋友发来个问题,正好无事做,动手写了一下 若一个正整数有偶数个不同的真因子,则称该数为幸运数.如4含有2个真因子为 1 和 2 .故4是幸运数.求[2,100]之间的全部幸运数之和. 常规思路 ...
- 牛客练习赛13 幸运数系列
***个人认为这4题出的相当好! 定义: 一个数的数位上数字均是4或7,称为'幸运数': 幸运数字I 题意:求出字符串s的出现最多次数的幸运子串,有多个,求字典序最小的. 任何幸运数都由4和7组成 ...
- Java 寻找幸运数
题目描述 定义一个方法static int ndigit(int n,int k),用来判断某个整数n中数字k(0~9)的个数. 编写主方法,其中输入一个整数m,后面跟m个整数,然后调用方法ndigi ...
- ch2_8_2求解幸运数问题
思路:f(x)进行十进制每位相加,g(x)进行二进制每位相加,比较是否相等即可. 小明同学学习了不同的进制之后,拿起了一些数字做起了游戏.小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中 ...
- 幸运数划分 lucky
题目描述 判断一个正整数n是否能被一个"幸运数"整除.幸运数是指一个只包含4或7的正整数.如:7.47.477等都是幸运数,17.42则不是幸运数. 输入 一行一个正整数n ...
- 京东2017校园招聘Android研发工程师编程题(二):幸运数
小明同学学习了不同的进制之后,拿起了一些数字做起了游戏.小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用.现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x) ...
- 【入门】小明的幸运数
题目描述 小明喜欢6和8,但他和别的小朋友不一样,别的小朋友都喜欢以6或8结尾的数字,但小明却喜欢6或8的倍数.给出两个边界(m,n),请你帮助小明计算m到n中(包括m,n),有多少个幸运数. 输入 ...
最新文章
- shell编程--case判断
- 找到IIS Express配置/配置数据库文件在哪里?
- php 模板制作教程,Destoon模板制作简明教程_PHP教程
- java cursor 删除_使用CursorRecyclerAdatper在RecyclerView中删除和撤消
- python 归纳 (二五)_多进程数据共享和同步_信号量Semaphore
- Flutter底部导航栏BottomNavigationBar页面状态保持解决方案
- vue-promise-axios
- 关于json时间字符串格式化处理
- 一个canvas的demo
- Android 中文API (69) —— BluetoothAdapter[蓝牙]
- 《灵飞经》①洪武天下 第三章 东岛三尊
- 交通信号灯课程设计_交通信号灯可以教设计师什么
- 药物研发检测记录模板-0903不溶性微粒检查法检验原始记录
- win10 yolov5 tensorRT 部署
- 大数据十大“关键词”
- box模型之margin
- 完全用Python工作
- matlab 工具箱查询,matlab常用工具箱、函数查询及相关应用
- 提取.txt文件内的指定内容
- 一个有经验的网络工程师的所谈[工资、认证、就业等问题]