• UVA10127 POJ2551 Ones


    问题链接:UVA10127 POJ2551 Ones入门练习题,用C语言编写程序。

    题意简述:输入正整数n,n不能被2和5整除,求它的最小倍数,由全1的10进制数组成,问至少需要多少个1。

    问题分析:对于输入的1,从小到大用1、11、111、......试探即可。

    程序中需要注意的地方有,全1的10进制数数可能很大,所以逐步增大过程中,n的倍数可以先行扔掉。另外,要想得到n个1的10进制数,可以从n-1个1的10进制数计算得到。例如 111=11×10+1,1111=111×10+1等等。

    AC的C语言程序如下:

    /* UVA10127 POJ2551 Ones */
    
    #include <stdio.h>
    
    int main(void)
    {
        int n, ans, val;
    
        while(scanf("%d", &n) != EOF) {
            ans = 1;
    
            val = 1;
            for(;;) {
                if(val % n == 0)
                    break;
                val %= n;   /* 试探过程中,n的倍数可以丢弃 */
                val = val * 10 + 1;
    
                ans++;
            }
    
            printf("%d
    ", ans);
        }
    
        return 0;
    }


  • 相关阅读:
    resin
    tomcat
    vba打开输入文件
    获取文件夹下所有文件2
    获取文件夹下所有文件
    修改Execl中sheet名的指定字符串为指定字符串
    SpringMVC入门到精通(一)
    Java JDBC
    Java反射
    Java日期格式化
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564470.html
Copyright © 2020-2023  润新知