| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:难~~~~题
只看楼主 加入收藏
xiamomo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-11-26
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:9 
难~~~~题
编写程序P3,从键盘输入正整数N(N<32768),然后计算从1 到 N的N个正整数中,有几个是整数的2次幂、3次幂、4次幂、……,在屏幕上显示计算结果。
例如,键盘输入100,屏幕应该输出13,因为有13个整数符合要求:
1=12=13=14=……,
4=22,
8=23,
9=32,
16=24=42,
25=52,
27=33,
32=25,
36=62,
49=72,
64=26=43=82,
81=34=92,
100=102
提示:注意上例中16这样的数不能重复计数,除了使用“高级”的方法外,也可以使用做标记的方法来避免重复,因为N的大小有限。
搜索更多相关主题的帖子: 键盘 编写程序 正整数 
2012-11-26 19:02
xiamomo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-11-26
收藏
得分:0 
先算出N以内一共有多少个数符合要求,然后再除去相同的数

菜鸟一个~~~~
2012-11-26 19:24
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:0 
求版主 大牛来解答

一起学习

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-11-26 23:23
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:10 
include <iostream>
#include <math.h>
using namespace std;
int main()
{   
    long int n,i,j,k;   
    while( cin>>n)
    {
        int sum=0;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                for(k=2;k<=n;k++)
                {
                    if(i==pow(j,k))
                    {
                        cout<<i<<endl;
                        sum++;
                        break;
                    }
                }
                if(k!=n+1)
                    break;
            }
        }
        cout<<sum<<endl;
    }
    return 0;
}
好像是母函数的题 暴力方法处理一个

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-26 23:34
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 楼主 xiamomo
注意上例中16这样的数不能重复计数   没明白过来!
2012-11-27 00:32
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:10 
程序代码:
#include <math.h>
#include <stdio.h>
int main()
{
    int n = 32768;
    int counter = 2;
    int j, i;
    do
    {
        i = pow(n, 1.0/counter);
        for (j = 2; j <= i; ++j)
        {
            printf ("%d \n", j);
        }
        printf ("\n");
        ++counter;
    }while(i != 1);
    printf ("counter = %d\n", counter);
    return 0;
}
2012-11-27 00:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
终于看懂
1=12=13=14=……,
4=22,
8=23,
是什么鸟东西了,原来是
1=1^2=1^3=1^4=……,
4=2^2,
8=2^3,
靠,你自己贴的题目自己就不看看?
2012-11-27 08:40
xiamomo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-11-26
收藏
得分:0 
#include <iostream.h>
#include <math.h>
void main()
{  
  long int N;
  cout<<"请输入正整数N (<32768):"<<endl;
  cin>>N;

  long int t;
  int count=0;
  long  int a[32768];
  int i=0,j;
  int  x,y;
  for ( x=1,y=2;t<N;x++)
  {
    t=pow(x,y);
    for(x=1,y=2;t<N;y++)
    {
     for( i++;;)
     {
      a[i]=t;
     }
     count++;
    }
  }

    for(i=0;i<=count;i++)
    {
      for( j=i+1;j<=count;j++)
      if (a[0]==a[j])
      {
       count--;
      }
      cout<<count<<endl;
    }
  
}

~~~~请大家帮我看看吧~~~!!!谢谢

[ 本帖最后由 xiamomo 于 2012-11-29 17:01 编辑 ]

菜鸟一个~~~~
2012-11-29 16:58
xiamomo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-11-26
收藏
得分:0 
回复 7楼 rjsp
额~~~抱歉抱歉~~!!

菜鸟一个~~~~
2012-11-29 17:01
xiamomo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-11-26
收藏
得分:0 
回复 楼主 xiamomo
#include <iostream.h>
 #include <math.h>
 void main()
 {  
    long int N;
    cout<<"请输入正整数N (<32768):"<<endl;
    cin>>N;

   long int t;
    int count=0;
    long  int a[32768];
    int i=0,j;
    int  x,y;
    for ( x=1,y=2;t<N;x++)
    {
      t=pow(x,y);
      for(x=1,y=2;t<N;y++)
      {
       for( i++;;)
       {
        a[i]=t;
       }
       count++;
      }
    }

     for(i=0;i<=count;i++)
      {
        for( j=i+1;j<=count;j++)
        if (a[0]==a[j])
        {
         count--;
        }
        cout<<count<<endl;
      }
  
 }
头晕~~~请大家帮我看看!!

菜鸟一个~~~~
2012-12-01 22:21
快速回复:难~~~~题
数据加载中...
 
   



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

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