| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5005 人关注过本帖
标题:输出1000以内能被3整除且至少有一位是3得数,每行输出4个
只看楼主 加入收藏
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
我错了,至少有一位是5。。。
2010-09-24 13:44
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:5 
根据题目描述,直接构建的模型,肯定可以解决问题,但是程序的效率不一定的最优的,并且那样的解法只要学过编程的人应该都能写出来。如果想要提高效率,就需要通过数学知识改造模型,这固然需要投入精力。如果不愿意投入这样的精力,以后很可能会被淘汰。

试问,现在谁还愿意使用Windows3.x系统的电脑,或者DOS?恐怕没人了吧,因为我们有用起来非常方便的Windows xp。

编程,也就是这个样子。

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-09-24 13:53
zhangmohan28
Rank: 2
来 自:山西
等 级:论坛游民
帖 子:12
专家分:13
注 册:2010-8-27
收藏
得分:5 
// 被3整除有5.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"

#include<stdio.h>
void main()
{
    int i,j,k;
    for(i=0;i<=9;i++)
    {
        if((i+5)%3==0)
        {
            printf("%3d %3d ",i*10+5,50+i);
            k+=2;
            if(k%4==0)
                printf("\n");
        }
        for(j=0;j<=9;j++)
        {
            if((i+j+5)%3==0)
            {
                if(i!=j)
                {
                    if((i!=5)&&(j!=5))
                    {
                        printf("%3d %3d ",500+10*i+j,500+10*j+i);
                        k+=2;
                        if(k%4==0)
                            printf("\n");
                       
                        {
                            printf("%3d %3d ",100*i+10*j+5,100*i+50+j);
                            k+=2;
                        }
                        if(k%4==0)
                            printf("\n");
                        
                        {
                            printf("%3d %3d ",100*j+10*i+5,100*j+50+i);
                            k+=2;
                        }
                        if(k%4==0)
                            printf("\n");
                    }
                    if(i==5)
                    {
                        if(k%4==1||k%4==0)
                        {
                            printf("%3d %3d %3d ",550+j,505+10*j,100*j+55);
                            k+=3;
                            if(k%4==0)
                                printf("\n");
                        }
                        else
                        {
                            if(k%4==2)
                            {
                                printf("%3d %3d \n  %3d ",550+j,505+10*j,100*j+55);
                                k+=3;
                            }
                            else
                            {
                                if(k%4==3)
                                {
                                    printf("%3d \n  %3d %3d ",550+j,505+10*j,100*j+55);
                                    k+=3;
                                }
                                
                            }
                        }
                        if(j==5)
                        {}
                    }
                    if(i==j&&i!=5)
                    {
                        if(k%4==1||k%4==0)
                        {
                            printf("%3d %3d %3d ",500+10*i+i,100*i+50+i,100*i+10*i+5);
                            k+=3;
                            if(k%4==0)
                                printf("\n");
                           
                        }
                        else
                        {
                            if(k%4==2)
                            {
                                printf("%3d %3d \n%3d ",500+10*i+i,100*i+50+i,100*i+10*i+5);
                                k+=3;
                            }
                            else
                            {
                                printf("%3d \n%3d %3d ",500+10*i+i,100*i+50+i,100*i+10*i+5);
                                k+=3;
                            }
                        }
                        
                    }
                    if(i==j&&i==5)
                        printf("%3d ",555);
                    
                }            
               
            }
        }
    }
    printf("\n");
}
//可以按你的要求输出~四个数字一行~其中在某些地方加空格就可以了~
//但是其中有数字是重复的~算法方面还是有些问题~
2010-09-24 15:03
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
算法是要高效, 可是解决问题也要高效的呀,

御姐的代码写出来 最多用时1分钟,楼主花了几天写出来的所谓的高效算法还是有问题的。
当然了,做题的时候无所谓,花个1年时间解决这题也没关系。

我就是真命天子,顺我者生,逆我者死!
2010-09-24 15:22
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
无语,这么简单的程序写这么长~~牛~~

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-24 16:50
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
这个东西,枚举法。

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-24 16:51
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
回复 3楼 御坂美琴
3楼就写得很不错啊。你用用她的好了

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-24 16:52
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
回复 23楼 zhangmohan28
那能帮我找错嘛?
2010-09-25 21:37
快速回复:输出1000以内能被3整除且至少有一位是3得数,每行输出4个
数据加载中...
 
   



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

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