| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2227 人关注过本帖
标题:关于自然数的一题
只看楼主 加入收藏
兔子妹妹啊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-6-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
关于自然数的一题

求助一题

自然数n的首位数字为6。若将首位数字移到个位(其它数字移到6的左侧)构成一个新数m,则n=4m。编写程序查找自然数n的最小值。
输出格式:自然数n的最小值是615384

求用简单的c语言。目前只学过数组和一点点指针。。。
搜索更多相关主题的帖子: 编写程序 自然数 c语言 
2016-06-02 13:19
兔子妹妹啊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-6-2
收藏
得分:0 
2016-06-02 13:22
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:7 
程序代码:
#include<stdio.h>
#include<math.h>

int main()
{
    const unsigned base = 6;
    unsigned i = 0;
    unsigned tech,j;
    while(1) {
        tech = 0;
        j = i;
        while(j) {
            ++tech;
            j/=10;
        }
        if((i*10+base)*4 == base*pow(10,tech)+i)
            break;
        i++;
    }
    printf("found answerd:%u\n",(i*10+base)*4);
}

未佩好剑,转身便已是江湖
2016-06-02 14:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:7 
程序代码:
#include <stdio.h>

// 由 d + x = 4 * (x*10+6),其中 d=60,600,6000,……
// 推导出 x = (d-24)/39

int main( void )
{
    unsigned d;
    for( d=60; (d-24)%39; d*=10 );
    printf( "%u\n", d+(d-24)/39 );

    return 0;
}
2016-06-02 14:33
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
回复 4楼 rjsp
佩服

未佩好剑,转身便已是江湖
2016-06-02 15:17
哈利60
Rank: 2
等 级:论坛游民
帖 子:33
专家分:12
注 册:2016-6-3
收藏
得分:7 
回复 4楼 rjsp
真的很棒
for( d=60; (d-24)%39; d*=10 );
for后面的;是干嘛用的 是空语句吗
for括号里的条件为什么可以这样用

[此贴子已经被作者于2016-6-5 12:55编辑过]

2016-06-05 12:50
快速回复:关于自然数的一题
数据加载中...
 
   



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

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