zoukankan      html  css  js  c++  java
  • N的N次方

    题目描述

    现给你一个正整数N,请问N^N的最左边的数字是什么?

    输入

    输入包含多组测试数据。每组输入一个正整数N(N<=1000000)。

    输出

    对于每组输入,输出N^N的最左边的数字。

    样例输入

    3
    4

    样例输出

    2
    2

    题意描述:
    输入一个正整数N(N<=1000000)
    输出N^N的最左边的数字

    解题思路:
    for循环控制与N相乘N次
    每次相乘后看当前结果是否大于10,若大于等于10循环除以10直到小于10(即为个位数)
    for循环结束后输出结果即可

    代码:
     1 #include<stdio.h>
     2 int main()
     3 {
     4     double r;
     5     int i,n; 
     6     while(scanf("%d",&n) != EOF)
     7     {
     8         r=1; 
     9         for(i=1;i<=n;i++)
    10         {
    11             r *= n;
    12             //printf("%lf
    ",r);
    13             while(r>=10)
    14             {
    15                 r /= 10;
    16                 //printf("%lf
    ",r);
    17             }
    18         }
    19         printf("%d
    ",(int)r);
    20     }
    21     return 0;
    22  } 

    测试样例:

    5

    6

    1

    0

    样例输出:

    3

    4

    1

    1

    易错分析:

    1、此题容易当成大整数运算求解,细想直接求出结果会很麻烦,只要最高位则用浮点数近似运算即可(比赛时克服畏难情绪)

  • 相关阅读:
    java IO
    免费的编程中文书籍索引-转
    js两种定义函数、继承方式及区别
    为什么这样写js:(function ($) { })(jQuery);
    Cannot open connection 解决办法
    dos下mysql登陆
    spring-AOP-1
    el表达式
    设计模式——"simple Factory"
    软件生产性控制
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/7221658.html
Copyright © 2011-2022 走看看