c语言-求大神给个代码,c语,求指导

问题描述

求大神给个代码,c语,求指导
现在给你n个数,判断对每个数开平方后的和是不是一个整数。

比如:

    4,9,16这三个数开平方后的和为9,是一个整数。

    2,3,19这三个数开平方后的和为7.5051633134826458945661170495752......,是一个小数。

你的任务就是判断n个数开方后的和是不是一个整数。

输入
多组数据;
对于每组数据:
第一行一个n(n<=100,正整数)。
第二行n个数,保证都是不大于10^9的非负整数。
输出
每个数开平方后的和是整数则输出Yes,否则输出No。
样例输入

3
4 9 16
3
2 3 16

样例输出

Yes
No

解决方案

判断一个数是否是小数:取整之后与原数相减,如果都是整数,相减一定是0;如果原数不是整数,则相减之后一定不是0

解决方案二:

求大神指导c++

解决方案三:

平方根计算

向下取整

#include<math.h>
#include<stdio.h>
int main(void)
{
   double x = 4.0,result,
   result = sqrt(x); //result*result=x
   return (result-floor(result))==0.0? true:false;
}

解决方案四:

 #include <stdio.h>
#include <math.h>

#define N 105

int main(){
    int num;
    int i;
    int arr[N];
    bool flag;
    while(scanf("%d", &num)){
        flag = true;
        for(i = 0; i < num; i++)
            scanf("%d", &arr[i]);
        for(i = 0; i < num; i++){
            double tmp = sqrt(arr[i] * 1.0);
            if(tmp != (int)tmp){
                flag = false;
                break;
            }
        }
        if(flag) printf("Yes
");
        else printf("No
");
    }
    return 0;
}

解决方案五:

整数开方后不是整数就是一个无理数,无理数相加不会出现有理数。也就是说,这组整数中,有一定不能开方,那他们的平方根之和不可能是整数。

时间: 2024-05-18 17:49:17

c语言-求大神给个代码,c语,求指导的相关文章

printf-c语言的一道题 动态规划 新手,求大神看看我代码的问题

问题描述 c语言的一道题 动态规划 新手,求大神看看我代码的问题 描述 7 3 8 8 1 0 2 7 4 4 4 5 6 2 5 (图1) 图1显示了一个三角形数. 编写一个程序,计算最高金额的数字传递路线,从顶部开始和结束的地方固定在底座上. 每一步可以走斜向下向左或向右斜下. 输入 程序从标准输入读取. 第一行包含一个整数N:三角形的行数. 以下N行描述三角形的数据. 在三角形的行数> 1但< = 100. 三角形的数量,所有的整数,在0到99之间. 输出 你的程序是编写到标准输出. 最

c语言acm1003 求大神看看我的代码哪错了

问题描述 c语言acm1003 求大神看看我的代码哪错了 Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input

printf-c语言 素数求和问题 求大神看看我代码的问题

问题描述 c语言 素数求和问题 求大神看看我代码的问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=22&rec=rec 我的代码是: #include #include int main() { int N,M,sum,i,j,a[10],flag; double s; scanf("%d",&M); while(M--) { scanf("%d",&N); for(i=0;i<N

c语言-C语言题目,跪求大神给个代码,实在不会啊

问题描述 C语言题目,跪求大神给个代码,实在不会啊 描述 大家都知道二进制数只含有0和1,那么问题来了,告诉你一个区间[L,R),L,R都是int范围类的正整数.且L < R,在这个区间里的所有数转化为二进制后所有位数之和最大的数是?(如果有多个输出值最小的) 输入 多组测试数据,每组测试数据仅含有两个整数L,R. 输出 一个整数,表示在以上区间内转化成二进制后所有位数之和最大的数 样例输入 4 7 样例输出 5 解决方案 #include <stdio.h> int cal(int n

c++-C++代码问题,求大神帮忙看看代码有什么问题?

问题描述 C++代码问题,求大神帮忙看看代码有什么问题? #include "stdafx.h" #include #include #include #define M_PI 3.14159265358979323846 int main(int argc, char* argv[]) { int tableSize=512; double sinTable[]={0}; for(int n = 0; n < (tableSize + 1); n++) { sinTable[n

C语言初学妹子求大神解决程序错误问题,求正解

问题描述 C语言初学妹子求大神解决程序错误问题,求正解 /*分别用while.do-while和for循环求:1!+2!+...+n!. 设计一个主界面,实现连续读入不同的n值并求解:*/ #include //用while实现 int main() { while(1) { int i=1,j=1,s=0,m=1; int n; printf("请输入n的值:n"); scanf("%dn",&n); if(n<1) break; else { s=

求大神给该段代码详细注解(MFC 俄罗斯方块)

问题描述 求大神给该段代码详细注解(MFC 俄罗斯方块) // TetrisDlg.cpp : 实现文件 // #include "stdafx.h" #include "myself.h" #include "Tetris.h" #include "TetrisDlg.h" #include #include // #include // #include //导入声音头文件 // #pragma comment(lib,&

android java 回调-关于android中的回调机制 求大神帮忙看看代码

问题描述 关于android中的回调机制 求大神帮忙看看代码 boss 叫我写一个sdk 然后里面得实现回调 还给了我个demo 说回调机制和这个demo 一样 大概就是从A客户端发出一个数据 然后我这边接受 接受和执行一个事件 然后再回调给C public class DemoActivity extends Activity { private InputInterceptor input; @Override protected void onCreate(Bundle savedInst

sprymenu-在dw用spry菜单栏样式出错,修改了SpryMenuBar.css之后忘记源css样式了。。求大神指示css代码

问题描述 在dw用spry菜单栏样式出错,修改了SpryMenuBar.css之后忘记源css样式了..求大神指示css代码 结构代码如下: 项目 1 项目 1.1 项目 1.2 项目 1.3 项目 2 项目 3 项目 3.1 项目 3.1.1 项目 3.1.2 项目 3.2 项目 3.3 项目 4 var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHo