| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:计算出最小的 N 的几次方能够包含 0-9 的所有数字(包含高精度计算算法)
只看楼主 加入收藏
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
结帖率:0
收藏
 问题点数:0 回复次数:2 
计算出最小的 N 的几次方能够包含 0-9 的所有数字(包含高精度计算算法)
程序代码:
//编一个程序,计算出最小的N的几次方能够包含0-9的所有数字
//理论上如果用动态数组可以实现任何一个数的表示!  QQ:87835836  -- Rol
#include <stdio.h> 
#define N 6  //基数
#define MAX  100  //数组最大长度
int main(void)  
{  
    int check(int *num,int ws);
    int num[MAX],i,jw=0,ws=1,tmp,count=0;
    num[0]= 1;               //将结果先初始化为1  
    do
    {
        for( i = 0; i < ws; i++)   
        {  
            tmp = N * num[i] + jw;  //基数与当前所得临时结果的从低到高各位a[j-1]依次相乘(加上进位)  
            num[i] = tmp % 10;           //更新临时结果的位上信息  
            jw = tmp / 10;          //更新相乘后的进位  
        }  
        while(jw)        //如果有进位  
        {     
            ++ws;                    //新加一位,添加信息。位数增1  
            num[ws-1] = jw % 10;    //将进位放在新加的结果位上  
            jw = jw/10;           //看还能不能进位  
        }
        count++;    
    }while(check(num,ws));
    for(i=0;i<ws;i++)
    printf("%d",num[ws-i-1]);
    printf("\n是%d的%d次方!\n",N,count);
    return 0;
}
int check(int *num,int ws)
{
    int i,j,flag;
    if(ws<10)return 1;
    else
    {
        for(i=0;i<=9;i++)
        {    
            flag=0;
            for(j=0;j<ws;j++)
            {
                if(*(num+j)==i)
                {
                    flag=1;break;
                }
            }
            if(j==ws)return 1;
        }
        return flag?0:1;
    }
}
搜索更多相关主题的帖子: include 
2014-10-11 17:50
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说:
万一是10 呢
2014-10-11 20:26
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:0 
回复 2 楼 erty1001
感谢啊,,还真没有过滤这种可能性,应该会一直循环下去的!
2014-10-11 21:08
快速回复:计算出最小的 N 的几次方能够包含 0-9 的所有数字(包含高精度计算算法 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048530 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved