73 纯粹合数

作者: 朱凯时间限制: 10S章节: 字符串

问题描述 :

明明的爸爸是一位数学家,明明受他爸爸的影响从小就喜欢数学,经常向他爸爸学习或请教数学问题。

一天,明明问他爸爸什么是合数,明明的爸爸回答说:“首先,合数都是大于1的整数,其次合数是除了1和其本身外,还能被至少一个其他自然数整除的数,例如‘4’这个数,它除了能被1和4整除外,还能被2整除,因此‘4’就是合数;但是‘3’就不是合数,因为3只能被1和3这两个数整除,因此‘3’不是合数。”

聪明的明明很快就理解了他爸爸的意思,于是又接着问他爸爸:“那什么又是纯粹合数呢?”明明的爸爸接着回答说:“一个合数,去掉最高位,剩下的数是0或仍是合数;再去掉剩下的数的最高位,剩下的数还是0或合数;这样反复,一直到最后剩下的一位数仍为0或合数;我们把这样的数称为纯粹合数。

例如‘100’这个数,它能被1、2、4、5、10、20、50、100整除,因此100是个合数,我们去掉它的最高位,剩下的数是0(其实剩下的应该是00,但是前置0对一个整数来说没有意义,因此前置0被舍去,就剩下个位数上的0),因此‘100’是一个纯粹合数。有趣的是,100是最小的一个三位纯粹合数。

再例如‘104’这个数,104能被1、2、8、13、26、52、104整除,所以104是个合数;我们去掉它的最高位后剩下4,4能被1、2、4整除,所以4也是合数,所以‘104’是一个纯粹合数。

但是‘101’就不是纯粹合数,因为‘101’只能被1和101这两个数整除。”

明明对他爸爸的回答很满意,于是自己动手从100开始寻找纯粹合数,他一共找到了100个纯粹合数,调皮的明明开始反过来考爸爸了,问他爸爸能否告诉他第2个大于等于100的纯粹合数是哪个?第3个大于等于100的纯粹合数又是哪个?……明明的爸爸被这个突如其来的问题给难住了,他无法立刻回答出来,于是请求你的帮助,帮助他回答明明的这个问题。

明明的问题可以归结为:根据一个正整数n,求出从100开始从小到大的第n个纯粹合数。

输入说明 :

你写的程序需要从标准输入设备(通常为键盘)中读入多组测试数据,每组测试数据仅占一行,每行仅包括一个正整数n(1 ≤ n ≤ 100)。每组测试数据与其后一组测试数据之间没有任何空行,第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。

输出说明 :

对于每一组测试数据,你写的程序需要计算出一组相应的运算结果,并将每组运算结果依次写入到标准输出设备(通常为启动该程序的文本终端,例如Windows中的命令行终端)中。每组运算结果为一个整数,即从100开始从小到大的第n个纯粹合数。每组运算结果单独形成一行数据,其行首和行尾都没有任何空格,每组运算结果与其后一组运算结果之间没有任何空行,第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。

输入范例 :

10
2
1
输出范例 :

124
104
100

#include <stdio.h>
#include <string.h>
int nb[100];
int  function(int number){//判断是否还能被其他整数相除(除了1和它本身)int i;for (i = 2; i < number; i++){if (number%i == 0){return 1;}}return 0;
}
int pure(int start){char res[10];sprintf(res, "%d", start);//将start值输入到res中int len = strlen(res);int count = 0;int i = 0;while (len--){int num;sscanf(res, "%d",&num);//将res值读入到num中if (num != 0 && function(num) == 0){return 0;}res[i++] = '0';//前置为0 (干掉高位)}return 1;
}int main(){int n;while (scanf("%d", &n) != EOF){int i;int count = 0;for (i = 100;; i++){if (pure(i))count++;if (count == n)break;}printf("%d\n", i);}return 0;
}

小结:1.学会了sscanf()函数的用法与sprintf()函数的用法
将字符转换为数字简直棒极了
2.如何去掉数字高位(字符前置为0)
去掉数字低位(除以10)

进阶题73 纯粹合数相关推荐

  1. misc高阶 攻防世界_攻防世界 Misc 进阶题(一)

    攻防世界 Misc 进阶题(一) 关于隐写术的思路或方法 转载: https://blog.csdn.net/a_small_rabbit/article/details/79644078     隐 ...

  2. python教程07-while语句的基本使用、for...in循环的使用、break与continue、打印矩形三角形九九乘法表、基础题、进阶题

    python教程_小白入门/2020/7/20 行百里者半九十,你可一定要坚持下去啊 前几天家里有事更新给耽误了,后续会稳定更新的,一起加油! 学习目标 文章目录 python教程_小白入门/2020 ...

  3. begin.lydsy 入门OJ题库:1104:纯粹合数

    1104: 纯粹素数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 258  Solved: 91 [Submit][Status][Web Boar ...

  4. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-055(肥宅快乐题)

    文章目录 一.肥宅快乐题 二.答题步骤 1.视频播放器 2.base64 总结 一.肥宅快乐题 题目链接:https://adworld.xctf.org.cn/task/task_list?type ...

  5. 天梯赛2022年比赛试题,进阶题L2,登顶题L3试题(仅题目)基础题L1有代码,请看本专栏另一篇

    目录 L2-1 插松枝 (25 分) L2-2 老板的作息表 (25 分) L2-3 龙龙送外卖 (25 分) L2-4 大众情人 (25 分) L3-1 千手观音 (30 分) L3-2 关于深度优 ...

  6. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-018(快乐游戏题)

    文章目录 一.快乐游戏题 二.答题步骤 1.无 总结 一.快乐游戏题 文件:攻防世界下载对应文件 二.答题步骤 1.无 这题很简单直接玩游戏就可以得到flag flag:UNCTF{c78391055 ...

  7. PTA —— 基础编程题目集 —— 编程题 —— 7-3 逆序的三位数 (10 分)

    题目 程序每次读入一个正3位数,然后输出按位逆序的数字.注意:当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输 ...

  8. 面试进阶题集锦-持续更新

    面向对象的"六原则一法则" - 单一职责原则:一个类只做它该做的事情.(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚.低耦 ...

  9. PTA : 函数题 7-3 两个有序链表序列的交集 (20 分)

    大一下本期数据结构 数据结构题目集 两个有序链表序列的交集 (20 分) 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正 ...

最新文章

  1. 《黑客与画家》读后感
  2. linux下的c库函数大全
  3. couldn't register *** with the bootstrap server. Error: unknown error code.
  4. 【学习笔记】供应链金融简介(精华)
  5. ESP32彩屏GUI试玩
  6. 牛客练习赛51-记录
  7. java的io中replace咋么使用_Java.io.ObjectOutputStream.replaceObject()方法实例
  8. python代码范文_Python any()用法及代码示例
  9. 杂志社的电子邮件地址
  10. 计算机知识技能大赛主持稿,计算机知识技能大赛.doc
  11. 马哥2020linux笔记下载,马哥linux 基础命令笔记
  12. PHP获取当前域名的记录
  13. 实用工具:常用数学公式
  14. 世界所有国家的信息(2)
  15. JAVA面大厂简历怎么写_大厂程序员来谈一谈要如何写简历!!(附简历模板)...
  16. Kafka同步发送与异步发送消息
  17. Word文档如何在方框里打勾?三招让你从入门到精通,工作效率翻倍
  18. SQLite实现获取本机短信数据
  19. 【20220108】【雷达】毫米波雷达(二)—— 毫米波雷达和激光雷达的区别及优缺点比较
  20. ubuntu20.04 屏幕共享打不开

热门文章

  1. 云服务器安装虚拟机教程视频,从零开始安装VMwareTools的详细步骤(图文教程)
  2. python画易烊千玺_教你如何轻松画出逼真的易烊千玺
  3. Windows下连接RTL-SDR直接使用命令听FM广播
  4. 5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩
  5. 判定是否互为字符重排(入门算法30)
  6. 《道德经》第二十六章
  7. 51单片机导盲手杖_超声波测距+DS18B20测温设计
  8. java多线程核心技术_Java多线程编程核心技术(笔记)
  9. windows编程如何更改窗口图标和光标
  10. Docker快速搭建OpenProject项目管理协作平台