| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:把10到1000之间满足以下两个条件的数,存到result.txt文件中!
只看楼主 加入收藏
goujuanjuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
结帖率:0
收藏
 问题点数:0 回复次数:3 
把10到1000之间满足以下两个条件的数,存到result.txt文件中!
把10到1000之间满足以下两个条件的数,存到result.txt文件中
1、是素数。
2、它的反数也是素数,如:123的反数是321。

2011-03-07 14:03
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:0 
程序代码:
/*把10到1000之间满足以下两个条件的数,存到result.txt文件中!
把10到1000之间满足以下两个条件的数,存到result.txt文件中
1、是素数。
2、它的反数也是素数,如:123的反数是321。*/

#include <stdio.h>

int IsPrime(int n);
int GetAnti(int n);
int SaveResultToFile(FILE *fSave);

int main(void)
{
    FILE        *fSave = NULL;

    fSave = fopen("result.txt", "wt");  //打开文件句柄
    if (NULL == fSave)
    {
        printf("文件打开失败!\n");
        return -1;
    }

    SaveResultToFile(fSave);

    fclose(fSave);                      //关闭文件句柄

    printf ("小妹妹, 完成了\n");
    return 0;
}


/*

 *IsPrime 判断是不是素数

 *@n      要判断的数

 *return  返回1, 是素数, 返回0, 不是素数

 */
int IsPrime(int n)
{
    int         i;
    //i小于2, 或者i为偶数且不为2的, 都不是素数
    if (2 == n) return 1;
    if (0 == n % 2 || n < 2) return 0;

    for (i = 2; i <= n / 2; ++i)
    {
        if (0 == n % i)
            return 0;
    }
    return 1;
}

/*

 *GetAnti 求逆数

 *@n      要求逆的数

 *return  返回结果

 */
int GetAnti(int n)
{
    int         result;
    for (result = 0; n; n /= 10)
    {
        result = result * 10 + n % 10;
    }
    return result;
}

/*

 *SaveResultToFile 保存结果到result.txt文件

 *@fSave           文件指针

 *return           成功1, 失败0

 */
int SaveResultToFile(FILE *fSave)
{
    int         i, j;

    for (i = 10; i <= 1000; ++i)
    {
        if (IsPrime(i))
        {
            j = GetAnti(i);
            if (IsPrime(j))
            {
                //printf("%d\n", i);
                fprintf(fSave, "%d\n", i);  //输出到文本
            }
        }
    }
    return 1;
}
2011-03-07 18:23
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
很猥琐的程序。。呵呵。

我们都在路上。。。。。
2011-03-08 11:02
goujuanjuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-7
收藏
得分:0 
回复 2楼 瓦药墙
你好厉害哦,程序很清晰,太感谢你了,我要拜师
2011-03-09 11:55
快速回复:把10到1000之间满足以下两个条件的数,存到result.txt文件中!
数据加载中...
 
   



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

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