Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Viết chương trình liệt kê các ước nguyên dương của số nguyên ~n~ nhập từ bàn phím theo thứ tự giảm dần.
Input
Số nguyên ~n, |n| \le 10^4~
Output
Danh sách các ước số nguyên dương của số ~n~ theo thứ tự giảm dần, các số cách nhau bởi 1 dấu cách.
Nếu số ~n~ có vô số ước nguyên dương, in ra INF
Sample
Input #1
8
Output #1
8 4 2 1
Bình luận
import java.util.Scanner; import java.util.Arrays;
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = Math.abs(scanner.nextInt());
}
code python mn xem giup voi mik sai test 4: n= int(input()) a=n n = abs(n) if n==0: print("INF") else: if (a<0): for i in range(1,n+1): if n%i == 0: print("-{}".format(i), end=" ") else: for i in range(n+1,0,-1): if n%i == 0: print(i,end=" ")
#include <bits/stdc++.h>
using namespace std; int n,k,a[100001],t=0,e=0,i,j; int main() { cin>>n; if (n==0) cout<<"INF"; else for(i=abs(n);i>=1;i--) if(n%i==0) cout<<i<<" "; }
AC đủ 5 test
include <bits/stdc++.h>
using namespace std;
int main() { int n; cin >> n; n = abs(n); if (n==0) { cout << "INF"; } else { for (int i = n; i >= 1; i--){ if(n % i == 0){ cout << i << " "; } } } return 0; }
chào các vị đạo hữu ạ
include <iostream>
include <cmath>
using namespace std; void U(int n){ for(int i = n ; i >= 1; i--){ if(n % i == 0){ cout << i << " "; } } } int main(){ int n; cin >> n; n = abs(n); if(n > 0){ U(n); }else{ cout << "INF"; } return 0; }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VL12LietKeCacUocSo {
} k dùng Abs nên tui hơi vòng vo chút ^^, C#
Chú ý input là số nguyên n nha nên nó có thể là số âm
int n;cin>>n; if(n==0) cout<<"INF"; for(int i=n;i>0;i--) if(n%i==0) cout<<i<<"\t";
sao sai case 4 vậy ae
sos
case 4 là gì vậy mn test toàn sai
include <bits/stdc++.h>
using namespace std; int sx(int a, int b) { return a>b; } int main(){ int n; cin>>n; n=abs(n); if (n>0) { vector<int> v; for (int i=1; i<=sqrt(n); i++) if (n%i==0) { v.pushback(i); if(i!=n/i) v.pushback(n/i); } sort(v.begin(), v.end(),sx); for (auto x:v) cout<<x<<" "; } else cout<<"INF";
}
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
sao để sắp xếp theo thứ tự giảm dần vậy
a.sort(reverse=-1)
dùng for đếm ngược từ n về 1 bạn ạ
Ae để ý chỉ in ra ước số nguyên dương thôi nha, đừng in ra cả ước nguyên âm giống t sẽ sai case 4
Các bạn nhập số n và cho n = abs(n) nhé, check n = 0 thì vô số ước, còn lại thì đếm như bình thường
cho hỏi mình ko hiểu số n có vô số ước nguyên dương. A/c bạn nào biết chỉ với ạ. Cám ơi
Mình nghĩ là n=0 thì có vô số ước á.
nhưng mình đã làm vẫn sai ở test case 4. hic
case 4 hinh nhu la test so am y ban
ai có code mẫu bài này k mn
Mình bị kẹt ở test case 4 mà k biết sai chỗ nào, mặc dù chạy đúng và k quá thời gian.
t cũng v, không biết xử như nào :)
sai ở case 4 là sai về gì á bạn
à mình biết sai đâu code của mình sau đâu r nếu x âm của mình sai không biết code bạn ntn
ban giai duoc chua minh cung dang ket
case 4 là số âm á,còn case 5 là số 0