Cho số nguyên dương n (n<=107) , hãy cho biết có bao nhiêu cặp số (a,b) thảo mãn:
- 1<=a<b<=n
- a x b là số chính phương
nhanh nha giúp em vs ạ
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
#include <bits/stdc++.h>
using namespace std;
long long a[1000006];
long long n;
int main()
{
for(int i=1;i<=1000006;i++){
a[i]=i*i;
}
cin>>n;
for(int i=1;i<=n;i++){
if(a[i]%n==0){cout<<a[i]/n;break;}
}
return 0;
}
\(^∗\)Xét \(n=2011\)thì \(S\left(2011\right)=2011^2-2011.2011+2010=2010\)(vô lí)
\(^∗\)Xét \(n>2011\)thì \(n-2011>0\)do đó \(S\left(n\right)=n\left(n-2011\right)+2010>n\left(n-2011\right)>n\)(vô lí do \(S\left(n\right)\le n\))
* Xét \(1\le n\le2010\)thì \(\left(n-1\right)\left(n-2010\right)\le0\Leftrightarrow n^2-2011n+2010\le0\)hay \(S\left(n\right)\le0\)(vô lí do \(S\left(n\right)>0\))
Vậy không tồn tại số nguyên dương n thỏa mãn đề bài
uses crt;
var a:array[1..100]of integer;
i,n,t,max,kq,j:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
max:=0;
for i:=1 to n do
begin
t:=0;
for j:=1 to a[i] do
if a[i] mod j=0 then t:=t+j;
if max<=t then
begin
max:=t;
kq:=a[i];
end;
end;
writeln('So co tong cac uoc lon nhat trong day la: ',kq);
readln;
end.
dễ thấy để S(n) và S(n+1) đều chia hết cho 1 số thì đuôi của n kết thúc bằng các số 9.
giả sử n có x số 9 cuối(ta tìm x nhỏ nhất)
khi đó n có dạng a 99...9 (x số 9)
=> n+1=b00...0 ( x+1 số 0) với b=a+1
do S(n) ≡ S(n+1) (mod 7) => a+9x ≡ b (mod 7) => 9x ≡ 1 (mod 7)
=> x=4
=> n=a9999
mà S(n) chia hết cho 7 => a=6 => n=69999 là nhỏ nhất thỏa mãn :D
#include <bits/stdc++.h>
using namespace std;
int n,c;
long long a[10000];
bool iscp(long long m){
return int(sqrt(m))*int(sqrt(m))==m;
}
int main()
{
cin>>n;
if(n==1){cout<<"0";return 0;}
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]<=a[j]&&iscp(a[i])&&iscp(a[j])){
c++;
}
}
}
cout<<c;
return 0;
}