求看代码觉得自己的思路没有错。

问题描述

求看代码觉得自己的思路没有错。

04-1. 水仙花数(20)

时间限制
2000 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
徐镜春(浙江大学)
水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例 如:153 = 13 + 53+ 33。 本题要求编写程序,计算所有N位水仙花数。

输入格式:

输入在一行中给出一个正整数N(3<=N<=7)。

输出格式:

按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:
3
输出样例:
153
370
371
407
代码:
#include
#include
int main( )
{
int i,j,n,a=0,k2,k3;
scanf("%d",&n);
for(i=pow(10,n-1);i<pow(10,n);i++)
{
for(j=0;j<n;j++)
{
k2=pow(10,j);
k3=(i/k2)%10;
a+=pow(k3,n);
}
if(i==a)
{
printf("%dn",i);
}
}
return 0;
}

解决方案

pow的参数是浮点的,你的是int,还有你的算法也太差,N=7的时候需要循环1亿次,没法在2s内算出

解决方案二:

下面这段代码是有问题的,如果j=0呢。k3就是两位数。所以这样式获取不到各个位的数字的

 for(j=0;j<n;j++)
{
k2=pow(10,j);
k3=(i/k2)%10;
a+=pow(k3,n);
}
时间: 2024-10-29 20:20:04

求看代码觉得自己的思路没有错。的相关文章

求看代码过不了用但是可以玩

问题描述 求看代码过不了用但是可以玩 猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了("Too big"),还是小了("Too small"),相等表示猜到了.如果猜到,则结束程序.程序还要求统计猜的次数,如果1次猜出该数,提示"Bingo!":如果3次以内猜到该数,则提示"Lucky You!":如果超过3次但是在N(>3)次以

int-求看代码不知道错在那

问题描述 求看代码不知道错在那 #include #define N 10 struct person { char name[11]; char birthday[11]; char sex; char fp[17]; char p[17]; }stu[N]; int main( ) { int x,i; scanf("%d",&x); for(i=0;i { scanf("%s %s %c %s %s",stu[i].name,stu[i].birthd

php 用户而验证-跪求大神帮我指点迷津,授权验证代码,已经有思路,也设计出来了,就是不知道怎么调用,代码如下

问题描述 跪求大神帮我指点迷津,授权验证代码,已经有思路,也设计出来了,就是不知道怎么调用,代码如下 <?php $auth=http://g.xsscp.com/include/code1.php?url=$_SERVER['HTTP_HOST']"; <?php $url = "http://g.xsscp.com/include/code1.php?url=$_SERVER['HTTP_HOST']"; $html = file_get_contents($

树形菜单求助 ,不知道从何下手。求大咖们帮帮讲讲思路 要是有代码就更好了。

问题描述 树形菜单求助 ,不知道从何下手.求大咖们帮帮讲讲思路 要是有代码就更好了. 左边为国家的省份,子菜单为省份的市级单位,右边卫市级单位的区.数据是从数据库区的.括号内的数字为选中的个数.从数据库去出来的数据类似于 id:01, name:黑龙江省,市区的LIST. 在前台页面怎遍历这个树形菜单还可以联动 求助大咖们 图片地址:http://a.hiphotos.bdimg.com/album/s%3D1000%3Bq%3D90/sign=3cccf467caef7609380b9d9f1

算法 递归 数据结构-求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释)

问题描述 求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释) public class Test1 { public static void main(String[] args) { select(2); } private static void select(int k) { char[] result = new char[k]; subselect(0 1 result k); } private static void subselect(int

c++-C++求最大加权独立集。只要思路就好了,代码我自己写

问题描述 C++求最大加权独立集.只要思路就好了,代码我自己写 假设有A,它提供一个干扰半径,B为一个集合,集合中每一个元素提供位置坐标和一个权重.如果两个元素半径小于干扰半径,则不能放入一个集合中,如果两位置距离大于等于干扰半径,则可以.求出最大权重的集合,集合的权重为集合中元素的权重之和. 我已经想了好久好久了QAQ 但是写出来的一个办法会导致内存泄漏. 拜托大神给一个思路就好了,代码我自己写. 解决方案 参考:http://zhidao.baidu.com/link?url=vfGzj4f

这道简单的编程题最终求的n是什么,字符的个数吗?还是循环的次数?求解答这道题的整体思路。

问题描述 这道简单的编程题最终求的n是什么,字符的个数吗?还是循环的次数?求解答这道题的整体思路. #include void main() { int n=0; printf("input a string:n"); while( getchar()!='n' ) { n++; } printf("%d",n); } 解决方案 楼主给出了部分程序,看来和一楼说的一样,就是统计除了回车外,你输入了多少个字符 解决方案二: 统计输入的字符的个数!遇到回车就跳出循环!打

100元50个人 随机生成 大于1小于20的随机金额 求个代码案例

问题描述 100元50个人随机生成大于1小于20的随机金额求个代码案例 解决方案 解决方案二:这个?http://blog.csdn.net/z69183787/article/details/50674531解决方案三:这个达不到我想要的效果,我想的是比如100元20个人抢,我可以设置最高的人可以抢到30元最低的人可能抢到0.1元解决方案四:你发的这个感觉最高的那么不定额度最低的那个也是不低额度解决方案五:以"平均概率"的思路来分配红包,非常无趣,这类创意乏味极了.要分配红包,就要有

平台-matlab高手进,不写代码,只说思路

问题描述 matlab高手进,不写代码,只说思路 各位大侠.求解答 题目如下:利用matlab的GUI功能制作pn结的仿真平台,在该平台中,能根据输入的异质结的不同参数,可以展示平衡异质结的能带图,并动态的展示异质结能带图的变化. 针对正偏的异质结,展现其发光特性及异质结其他可能的应用. 请问这个有办法实现吗?大体方案是什么?