首页 > 其他分享 >PTA 整除光棍

PTA 整除光棍

时间:2023-12-13 09:03:48浏览次数:21  
标签:输出 10 int 31 PTA 光棍 整除

整除光棍

作者 翁恺  单位 浙江大学

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

输入格式:

输入在一行中给出一个不以5结尾的正奇数x(<1000)。

输出格式:

在一行中输出相应的最小的sn,其间以1个空格分隔。

输入样例:

31

输出样例:

3584229390681 15

分析:

  看提示我们知道输出s会很大,用长整型之类的也不好使,所以得想其他方法输出。不能一次性全部输出,我们可以一个一个的输出,最后将s全部输出也是一样的结果。例如:111%31=18,18*10+1;181%31=26,26*10+1=261;261%31=13,13*10+1;因为题目要求的是多个1的形式,所以每次循环将n赋值为n/x的余数再乘10后要加1

  步骤1:因为光棍肯定要大于x,所以要先求出大于x的光棍n;

  步骤2:每次循环输出n/x的商,然后将n/x的余数乘10再加1后赋值给n,同时位数c加1,直到余数为0后退出循环;

  步骤3:最后输出位数c。

代码:

#include<stdio.h>

int main(){
    int x;
    scanf("%d",&x);
    int n=1;
    int count=1;
    while(n<x){
        n=n*10+1;
        count++;
    }
    while(1){
        printf("%d",n/x);
        n%=x;
        if(n==0){
            printf(" %d",count);
            break;
        }
        n=n*10+1;
        count++;
    }
    return 0;
}

标签:输出,10,int,31,PTA,光棍,整除
From: https://www.cnblogs.com/qq286442936/p/17889248.html

相关文章

  • NCHU PTA7-8次PTA题目集(成绩计算系列)以及期末考试
    一、前言:最近几次的pta作业改变了以往的计价系统,转而要求我们计算成绩。起初,我并没有遇到太大困难,只需要多花一些时间就能完成。然而,由于前几次作业做得不好,导致我在接下来的两次作业中也没有取得好成绩。随着我们对Java的学习越来越深入,我们学习了类的概念,并进一步探讨了父类和......
  • 第三次blog-7-8次PTA题目集及期末考试总结
    一、前言第三次作业主要针对课程成绩统计程序的迭代以及期末考试的总结课程程序2是在第一次的基础上增加了实验课的情况,由于我程序1的框架打的不好,时间过了很久之后记忆不深,加之程序2开始的比较晚,又重新打了一个框架,但仍然很乱很碎,最后匆忙赶了两天也只拿了80分课程程序3在第二......
  • pta7,8加期末
    1.前言在当今信息爆炸的时代,Java作为一门强大且广泛应用的编程语言,已经成为了众多开发者的首选。它的跨平台性、健壮性以及丰富的生态系统,使得它在企业级应用、移动应用、大数据处理等领域都有着广泛的应用。本博客我们将会深入探讨Java语言的基础概念和核心特性,如面向......
  • 7-8次PTA题目集(成绩计算系列)以及期末考试
    一、前言第7-8次的题目集相对于前几次的题目集而言题量虽多了点,但是难度有适当的降低,比较考察学生上课学习到基本的算法和知识,考察多的为课程成绩统计程序2-3这一类题目,这两题代码量还是比较大的,不比之前写的菜单计价少,但难度相比菜单计价还是低了一点的,整个题目集主要都考察多态......
  • PTA|C语言|结构体
    --------------------------------------------------------------------------------计算两个复数之积本题要求实现一个计算复数之积的简单函数。函数接口定义:structcomplexmultiply(structcomplexx,structcomplexy);其中structcomplex是复数结构体,其定义如下:structcompl......
  • 7-8次PTA和期末成绩总结
     (1)前言:总结之前所涉及到的知识点、题量、难度等情况课程成绩统计程序-3在第二次的基础上修改了计算总成绩的方式(修改类结构,将成绩类的继承关系改为组合关系,成绩信息由课程成绩类和分项成绩类组成,课程成绩类组合分项成绩类,分项成绩类由成绩分值和权重两个属性构成)。......
  • 记录issue:iptables (legacy): Couldn't load match `comment':No such file or direct
    用nerdctl起容器碰到如下issue:FATA[0001]failedtocreateshimtask:OCIruntimecreatefailed:runccreatefailed:unabletostartcontainerprocess:errorduringcontainerinit:errorrunninghook#0:errorrunninghook:exitstatus1,stdout:,stderr:tim......
  • iptables 学习
    iptables一、图二、规则写法格式:iptables[-ttable]COMMANDchainCRETIRIA-jACTION-ttable:3个filternatmangleCOMMAND:定义如何对规则进行管理chain指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候是可以省略的CRETIRIA:指定匹配标准-jA......
  • PTA-第三次机考题解
    PTA-第三次机考题解7-1玩游戏一典型的二分模版题,之前发的第十一次练习题目中对二分有详细的讲解,这道题就是二分的第二种模版,原封不动。相信认真看过的同学还是有思路的。嘿嘿!给没有看过的同学下面再讲一次二分:直接讲整数二分,浮点数二分只需要修改细节就好(直接讲两种模版,所有......
  • PTA-2023第十二次练习题目题解
    PTA-2023第十二次练习题目题解(祝大家机考顺利)以下代码已做防抄袭处理,切勿抄袭。注意:手机端因为屏幕限制,代码会有(不希望的)换行。解决方案:1.建议使用电脑端打开。2.点击代码进入全屏观看。6-24实验8_3_设计函数利用冒泡排序的思想,将每一列的最小值放到每列的最后一个位置。voi......